最近遇到一点内存不足的问题。才又临时学习了一点swap信息查询和控制的知识。
首先,可以通过/proc/swaps看到当前系统swap文件的分布、使用情况以及swap空间使用的优先级等信息。
/proc/sys/vm/swappiness确定了系统优先使用swap空间还是内存,0表示内存用尽后再使用交换空间,100是尽量优先使用交换文件。
使用如下的命令来实时修改此值:
1 | sudo sysctl vm.swappiness=100 |
也可以写在/etc/sysctl.conf或者/etc/sysctl.d/的配置文件中,来使此值在每次启动时都有有效的设定。
另外,swap可以使用swapon命令来全能swap文件或者分区,也可以写在/etc/fstab中
1 | swapfilename name swap defaults,pri=优先级 0 0 |
其中优先级可以使用0~100的数字,优先级数字越大的交换文件越被优先用到。另外,默认优先级有-1和–2这样的数值。