给linux新增加 swap 文件(以 aws lightsail 为例)

一直使用的 aws lightsail 实例只有1G内存,相当小,整个网站都在上面跑,包括数据库,所以各种配置都可谓是缩小到了极致。而 lightsail 默认没有 swap ,之前也就这么用着,反正lightsail 的磁盘性能很差。

近期,考虑到偶尔会有短暂的多个 php-fpm 进程跑满,然后网站无响应(Wordpress 更新时尤其明显)。但又不能贸然增加 php-fpm 进程数,因为很早以前因为 php-fpm 进程数比较大,甚至多次造成MySQL进程挂掉。于是,尝试启用 swap 看一下效果如何,能否改善有突发的过负载。

#touch /swapfile
#chmod 600 /swapfile
#dd if=/dev/zero of=/swapfile count=1024 bs=1024K
1073741824 bytes (1.1 GB) copied, 13.867 s, 77.4 MB/s
#mkswap /swapfile
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=b9d064e4-f641-4b69-8957-1352e3639986
#swapon /swapfile
swapon: /swapfile: insecure permissions 0644, 0600 suggested.

往 /etc/fstab 增加一行,开机自动生效。谨慎起见,重启一下,万一不知道什么时候重启时挂了反而麻烦。或者跟后面一行内核参数修改后一并重启。

/swapfile          swap           swap     defaults    0 0

(可做可不做)让内核更少的使用 swap ,执行命令立即生效 sysctl vm.swappiness=10 ,并修改 /etc/sysctl.conf ,增加如下一行,(该参数取值范围 0-100,越大使用 swap 越激进,默认值为 30;经验上,改不改影响不大)

sysctl vm.swappiness=10

 

Last Updated on 2025/10/29

发表评论

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理