发现服务器的swap分区的利用率都100%了,但是系统物理内存/RAW的利用率才1/10不到!查了下,原来可以用过调整系统的swappiness
参数来改变这种不平衡!
swappiness
参数控制内核将进程移出RAM并移入swap缓存的程度。 因为swap缓存要比RAM慢得多,所以如果进程过于主动地移出RAM,则可能导致系统和应用程序的响应时间变慢。
swappiness
的值可以在0
到100
之间swappiness=0
告诉内核尽可能避免将进程从RAM中交换出来swappiness=100
告诉内核从物理内存中积极地进行进程交换,并将它们移至swap缓存
Ubuntu中的默认设置为swappiness=60
。 降低swappiness
的默认值可能会提高Ubuntu桌面发行版本的整体性能。 但是大多数情况,尤其是我们不怎么在乎或者不使用Ubuntu桌面的时候,建议将swappiness
的值设置为10(但是不同的服务器性能不一样,具体设置成多少比较合适服务器,仍需要我们去测试)。
1. 查看当前swappiness
值
cat /proc/sys/vm/swappiness
2. 更改swappiness
值
可以进行临时更改(重新启动时丢失),例如将其值设置为10
sudo sysctl vm.swappiness=10
要使更改永久生效,请使用您喜欢的编辑器,比如vim
编辑器,编辑配置文件:
sudo vim /etc/sysctl.conf
搜索vm.swappiness
并根据需要更改其值。 如果vm.swappiness
不存在,则将其添加到文件末尾,如下所示:vm.swappiness=10
保存文件。
3. 重新启动服务器
sudo reboot