Administrator
发布于 2025-10-22 / 5 阅读
1
0

关于服务器swap(虚拟内存)痛点

小内存服务器(eg:2g内存)如果不设置swap,是极其容易死机的,一旦死机大多能解决办法只是重装系统,给我们带来了麻烦,故设置swap是非常有必要的。有些服务器购买后就设置有swap,比如腾讯云。

下面是设置swap的步骤,请依次执行

sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo bash -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

然后查看:

free -h

你会看到多出 2 GB swap,这样系统就不会轻易死机。

大多数人认为到这就结束了,但我这篇文章要讲的痛点就在后面。系统确实已经有swap,但是Linux 有个参数控制何时使用 swap,可以使用下面这行代码查看

cat /proc/sys/vm/swappiness

如果输出是 10 或者 1,说明系统几乎不用 swap。如果是0就代表不使用,而博主这台服务器就是如此。那么改成多少合适呢,怎么改?

sudo sysctl vm.swappiness=60这样是临时修改,重启后就会变回原来的值(不推荐)

推荐下面这种永久修改的方法

1.修改/etc/sysctl.conf

sudo vim /etc/sysctl.conf

2.添加或修改一行

vm.swappiness=60

3.生效

sudo sysctl -p


评论