Linux系统的swap分区并不是等所有的物理内存都消耗完毕之后,才去使用swap分区的空间,什么时候使用是由swappiness参数值控制。 通过下面的方法可以查看swappiness参数的值:

[root@rhce ~]# cat /proc/sys/vm/swappiness

60

结果显示该值默认为60. 其中:

swappiness=0的时候,表示最大限度使用物理内存,然后才使用swap空间,

swappiness=100的时候,表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间中。

现在服务器的内存动不动就是上百G,所以我们可以把这个参数值设置的低一些,让操作系统尽可能的使用物理内存,降低系统对swap的使用,从而提高系统的性能。

修改swappiness参数有临时修改和永久修改两种方法:

----临时修改:

[root@rhce ~]# sysctl vm.swappiness=10

vm.swappiness = 10

[root@rhce ~]# cat /proc/sys/vm/swappiness

10

这里我们的修改已经生效,但是如果我们重启了系统,又会变成60.

----永久修改:(安装部属hadoop系统时,所有节点都要求swappiness=0,以最大限度的使用内存)

在/etc/sysctl.conf 文件里添加如下参数:

vm.swappiness=10

或者:

[root@rhce ~]# echo 'vm.swappiness=10'>> /etc/sysctl.conf

保存,重启,就生效了。