Linux 服务器如何更改 swap 分区大小、优化内存(暨服务器又双叒叕崩坏经历记录……)


继安装了 WP Super Cache 插件后,我的服务器又双叒叕崩坏了……仍然一样的 MySQL 停止运行,看日志居然前一次崩坏出现的两个症状同时出现了!(可怕)这次我决定采取终极方案:改变 swap 分区大小!(其实早就应该用的……)

Linux 中 Swap(即:交换分区),类似于Windows的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。也就是说改变 swap 分区内存大小就可以完美解决我服务器内存太小问题了!

首先,查看当前 swap 分区大小,可以用 free -h 或者 free -m 。里面我们可以看到当前 swap 分区大小。我的 Bangwagon 服务器一开始的 swap 分区居然只有 128M……

因为 Bandwagon 的控制面板(Kiwivm)里面会自动显示出虚拟内存的占用情况和大小,我们创建多个 swap 分区就不太好……所以我选择直接把这个 swap 分区扩大。具体实现是,先删除这个分区,再重新创建一个 swap 分区~~~

首先删除这个 swap 分区(其实这个命令是删除所有swap分区):swapoff -a

添加一个 swap 分区文件:dd if=/dev/zero of=/root/swapfile bs=1M count=1024
这里创建了一个有 1024 块、每块有 1M 的 swap 分区。其中 /root/swapfile 就是 swap 文件的路径。

接下来要格式化 swap 分区文件:mkswap /root/swapfile

然后启用 swap 分区文件:swapon /root/swapfile

最后设置开机启动:可以编辑 /etc/fstab 文件,把最后一行改成:/root/swapfile swap swap defaults 0 0

这样,swap 分区就完美设置完成了~~再也不用担心内存太小了~~~

(参考:https://www.bandwagonhost.net/1170.html)

本文采用 BY-NC-SA 3.0 协议进行授权。

欢迎转载,如有错误欢迎指出。

本文链接:https://skywt.cn/posts/changeswap/


我们的征途是星辰大海。