/proc/sys/vm/swappiness是Linux系统中一个用来控制内核对内存使用和swap分区的倾向性的参数。它可以用来调整系统在内存不足时将数据迁移到swap分区的倾向性,范围为0到100,具体含义如下:
- 当swappiness=0时,系统几乎不会使用swap分区,除非绝对必要。
- 当swappiness=100时,系统会尽可能将数据迁移到swap分区,即更倾向于使用swap分区。
默认情况下,Ubuntu系统swappiness默认值为60,Redhat CentOS系统此参数的默认值是30。虚拟内存使用过多会大量占用系统IO,影响系统的性能,所以要尽可能的使用物理内存。
如果系统中有大量空闲内存,而仍然频繁使用swap分区,可以考虑降低swappiness值来减少系统对swap分区的依赖;反之,如果系统内存经常不足,可以适当提高swappiness值来增加系统使用swap分区的倾向性。
修改方法
要修改swappiness的值,可以通过以下方式进行:
1. 临时生效
可以使用sysctl命令实时修改swappiness的值,例如:
sudo sysctl vm.swappiness=50
2. 永久生效
可以编辑/etc/sysctl.conf文件,在文件中添加或修改如下行来设置swappiness的值:
vm.swappiness=50
然后运行以下命令使配置生效:
sudo sysctl -p
在调整swappiness值时,建议根据系统的实际情况和性能需求进行调整,以达到最佳的内存管理效果。