一直使用的 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