SWAP的性能是十分的低的,对于网页服务器有自己的一定的作用——防止爆内存。
但我用的是虚拟机关网页什么事?
Swappiness可以用来调整系统在何时开始使用SWAP,Swappiness 可以设置为 0 到 100 之间的值。
swappiness=0
: 表示最大限度使用物理内存,物理内存用满之后才用swap空间swappiness=100
: 表示积极使用swap分区,并且会把内存上的数据及时地搬运到swap空间里面
linux中该项默认值为60。也就是说,你的内存在使用到100-60=40%的时候,就会开始使用交换内存。大家知道,内存的速度会比磁盘快很多,过早地使用SWAP会加大系统IO,同时造成大量页的交换进出,严重影响系统的性能。
举例: 我的笔记本电脑有 16 GB 的内存和 8 GB 的交换空间。如果我在内核参数中,swappiness设置为60,那么在使用大约 6
GB (16G*40% == 6.4G)的内存后,我的笔记本就会开始使用SWAP,这会不必要地使我的应用程序变慢。所以咱应该知道怎么改这个参数。
我系统本来就分配好了内存,占用率稳定在90%,系统在40%就开始疯狂调用swap,系统不出问题才怪啦。
根据PVE官方论坛的讨论,PVE应该是会在使用lvm文件系统进行安装的时候启用Swap,否则默认是关着的。
首先,你可以使用如下命令查看你PVE的swappiness,不出意外的话应该是linux默认的60
cat /proc/sys/vm/swappiness
要改善PVE暴饮暴食的使用习惯其实还算简单,把这个值调低就能减少使用啦。下面提供两种办法:
临时调整
在PVE终端输入如下命令
sysctl vm.swappiness=10
其中10可以改成你需要的值,没需要可以设为0。

永久调整
用PVE自带的nano更改配置即可。
nano /etc/sysctl.conf
可能全都是注释,不要紧,翻到最下面,加一行
vm.swappiness=10
然后Ctrl + X
,按Y
确认更改,然后回车就保存了。最后使用sysctl -p
生效配置。
接下来建议直接重启PVE使更改生效(别问我为什么用sysctl -p
之后还重启,我用了之后因为没有关闭那些虚拟机导致更改生效不彻底 于是跟个傻子一样排查了很久ε(┬┬﹏┬┬)3 ,鉴于诸多因素可能都会导致更改生效不彻底,建议直接重启)。
发表回复