如何修改Linux内核参数vm.swappiness

更新时间:2023-02-17 09:37:07

内核参数vm.swappiness控制换出运行时内存的相对权重,参数值大小对如何使用swap分区有很大联系。值越大,表示越积极使用swap分区,越小表示越积极使用物理内存。默认值swappiness=60,表示内存使用率超过100-60=40%时开始使用交换分区。swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间;swappiness=100的时候表示积极使用swap分区,并把内存上的数据及时搬运到swap空间。(网上有的说,对于3.5以后的内核和RedHat 2.6.32之后的内核,设置为0会禁止使用swap,从而引发out of memory,这种情况可以设置为1。)

需要根据服务器运行的程序类型,来设置不同的参数值。例如,对于Oracle一般设置为10;对于MySQL一般设置为1,尽可能不用swap分区。

调整vm.swappiness的方法:

1、查看参数值:

cat /proc/sys/vm/swappiness

2、临时调整:

sysctl vm.swappiness = 10 
cat /proc/sys/vm/swappiness

3、永久调整:

vi /etc/sysctl.conf

修改vm.swappiness=10

然后加载参数:

sysctl -p

完毕。

Linux