【Linux】如何关闭 swappiness ?

1、关闭 swappiness

查看 swappiness 的当前值:

sysctl vm.swappiness
cat /proc/sys/vm/swappiness
cat /sys/fs/cgroup/memory/memory.swappiness

【Linux】如何关闭 swappiness ?_第1张图片

永久关闭:

echo vm.swappiness = 0 >> /etc/sysctl.conf

临时关闭:

sysctl vm.swappiness=0
echo 0 >

-w 选项加不加似乎都行。该选项的解释如下:

-w, --write          enable writing a value to variable

如想配置其他值,比如 1,只需要将上面的命令中的 0 替换掉即可。

2、swappiness 简介

此控件用于将交换(swapping)和文件系统分页(paging)的粗略相对 IO 成本定义为 0200 之间的值。该值控制内核交换内存页的积极性。数值越高,越积极;数值越低,就越不积极。 100 时,VM 假设同等的 IO 成本,并且因此将向页面高速缓存和交换支持(swap-backed)页面同等地施加内存压力;越低的值表示 交换(swap) IO 越昂贵,越高的值表示越便宜。

请记住,在内存压力下的文件系统 IO 模式往往比 swap 的随机 IO 更高效。最佳值需要实验,也取决于工作负载。

默认值为 60。CentOS 为 30

对于内存中的 swap,如 zramzswap, 以及在比文件系统更快的设备上进行交换的混合部署,可以考虑超过 100 的值。例如,如果针对交换设备的随机 IO 平均比来自文件系统的 IO 快2倍,则交换性应为 133(x+2x=200,2x=133.33)。

0 时,内核将不会启动交换,直到可用页面和文件备份页面的数量小于区域中的高水位线。


更多参考:

  • Documentation for /proc/sys/vm/ (kernel version 2.6.29)
  • man7.org
  • Red Hat

你可能感兴趣的:(服务器与数据存储,linux,swappiness,服务器,linux,kernel)