swappiness,Linux内核参数,控制换出运行时内存的相对权重。swappiness参数值可设置范围在0到100之间。 低参数值会让内核尽量少用交换,更高参数值会使内核更多的去使用交换空间。默认值为60(参考网络资料:当剩余物理内存低于40%(40=100-60)时,开始使用交换空间)。对于大多数操作系统,设置为100可能会影响整体性能,而设置为更低值(甚至为0)则可能减少响应延迟。
swappiness参数值说明
vm.swappiness = 0
仅在内存不足的情况下--当剩余空闲内存低于vm.min_free_kbytes limit时,使用交换空间。
vm.swappiness = 1
内核版本3.5及以上、Red Hat内核版本2.6.32-303及以上,进行最少量的交换,而不禁用交换。
vm.swappiness = 10
当系统存在足够内存时,推荐设置为该值以提高性能。
vm.swappiness = 60(默认值)
vm.swappiness = 100 (内核将积极的使用交换空间)
对于内核版本为3.5及以上,Red Hat内核版本2.6.32-303及以上,多数情况下,设置为1可能比较好,0则适用于理想的情况下
首先需要创建swap
# 创建1GB大小的swap文件
sudo fallocate -l 1G /swapfile
# 设置正确的权限
sudo chmod 600 /swapfile
# 格式化swap文件
sudo mkswap /swapfile
# 启用swap文件
sudo swapon /swapfile
# 使swap文件开机自启用
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# 确认swap已启用
sudo swapon --show
# 可选:调整swappiness值
echo 60 | sudo tee /etc/swappiness
更改值
----临时修改:
sysctl vm.swappiness=10
vm.swappiness = 10
cat /proc/sys/vm/swappiness
10
这里我们的修改已经生效,但是如果我们重启了系统,又会恢复
----永久修改:
在/etc/sysctl.conf 文件里添加如下参数:
vm.swappiness=10
或者:
echo 'vm.swappiness=10'>> /etc/sysctl.conf

评论