别再硬扛内存爆仓!Swap 才是救命底线

身边不少朋友在搞开发测试时,习惯性把云服务器买最小配置——2C4G ,跑个 Nacos 或一堆微服务,内存分分钟见底。

然后呢?服务莫名其妙挂了,SSH 连不上,compactd 进程卡死 200 多秒……在内存受限的服务器环境下,swap 已然成了必备配置。

为什么测试环境更要开swap?

1. 稳住系统,避免被“杀”与被“卡”

  • 防 OOM Killer:内存耗尽时内核会随机“枪毙”进程,Swap 给了缓冲,优先换出不活跃数据,保住关键服务。
  • 防 compactd 假死:内存极度紧张时内核会疯狂做内存压缩(导致 CPU 飙升、SSH 断连),Swap 能直接换出内存页,瞬间释放连续空间,告别卡死。

2. 把物理内存留给真正需要的应用

系统会自动将后台日志、不常用服务的冷数据挪到 Swap,腾出的 RAM 全给应用,让有限的内存用在刀刃上。

一键创建 2GB Swap(开发测试标配)

# 创建 2GB 文件并启用
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 开机自动挂载
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

# 调低 Swap 倾向(优先用物理内存)
sudo sysctl vm.swappiness=10
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

完成后 free -h 看看,Swap 那一行有 2G 就对了。

最后说两句

给服务器加上 Swap,就像给汽车备了一个备胎——平时用不上,关键时刻能救命。对于开发测试环境,2~4G Swap 足够应付突发,磁盘不值钱,稳定才值钱。一句话:小内存服务器,Swap 不该是可选项,而是默认配置。

如果 Swap 使用率长期超过 50%,说明物理内存真不够了,该升级就升级。

动动手指,几分钟配置,换一夜安稳。如果觉得有用,转发给还在“裸奔”的测试环境兄弟们吧!🚀

posted @ 2026-07-28 12:59  暮色之狐  阅读(0)  评论(0)    收藏  举报