centos – 我是否应该担心在具有近40GB可用内存的主机上使用交换?

我有一个生产主机,如下:

该系统使用1GB交换,同时保留近40GB的空闲,未使用的内存空间.我应该关注这个问题,还是大部分都是正常的?

这不是问题,可能是正常的.很少使用很多代码(可能还有数据),因此系统会将其交换出来以释放内存.

如果连续交换内存,则交换主要是一个问题.正是这种活动杀死了性能并在系统的其他地方提出了问题.

如果你想监控你的交换活动你可以使用几个实用程序,但vmstat通常非常有用,例如

$vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 348256  73540 274600    0    0     1     9    9    6  2  0 98  0  0
 0  0      0 348240  73544 274620    0    0     0    16   28   26  0  0 100  0  0
 0  0      0 348240  73544 274620    0    0     0     0   29   33  0  0 100  0  0
 0  0      0 348240  73544 274620    0    0     0     0   21   23  0  0 100  0  0
 0  0      0 348240  73544 274620    0    0     0     0   24   26  0  0 100  0  0
 0  0      0 348240  73544 274620    0    0     0     0   23   23  0  0 100  0  0

忽略第一行,因为系统启动后就是活动.注意— swap–下的si和so列;如果在大多数情况下不是0,它们通常应该是相当小的数字.

另外值得一提的是,这种抢占式交换可以通过内核设置来控制. / proc / sys / vm / swappiness中的文件包含一个介于0和100之间的数字,告诉内核如何积极地换出内存.捕捉文件以查看此设置.默认情况下,大多数Linux发行版默认为60,但如果您不希望在内存耗尽之前看到任何交换,请将0回显到文件中,如下所示:

echo 0 >/proc/sys/vm/swappiness

这可以通过添加来永久化

vm.swappiness = 0

到/etc/sysctl.conf.

相关文章

#使用军哥的lnmp配置虚拟主机,需要注意的是要配置hosts文件(...
一、配置编译环境 yum update && yum upgra...
一、下载repo文件 二、备份并替换系统的repo文件 三、执行yu...
LAMP -- Linux Apache MySQL PHP 在CentOS安装的顺序,我一般...
一、下载nginx安装包,官网下载中心http://nginx.org/downlo...
1.下载composer curl -sS https://getcomposer.org/installe...