Debian 服务器 Swap 与内存优化:从 free 到 swappiness
接手一台 Debian 服务器,我习惯先看内存。很多卡顿是内存吃满、Swap 被频繁读写造成的。
用 free 看清现状
执行 free -h,看 Mem 的 total、used、free,更要看 available,它是真正还能给新进程用的内存。Swap 看 total 和 used:长期占用高,说明内存确实紧张。再用 top 或 ps aux --sort=-%mem 找出大户。
swappiness 的含义与调整
swappiness 是内核把不活跃内存换出到 Swap 的积极程度,范围 0 到 100,Debian 默认一般是 60。数值越大,越倾向于提前换出;越小,越倾向于留在物理内存。响应敏感的服务,我常调到 10:
sysctl vm.swappiness=10
写入 /etc/sysctl.conf 可长期生效,改完用 cat /proc/sys/vm/swappiness 确认。内存不够时,进程仍可能被 OOM 终止。
Swap 文件的创建与启用
没有 Swap 分区时,用文件更灵活:
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile && swapon /swapfile
开机启用,在 /etc/fstab 加一行:/swapfile none swap sw 0 0。停用时先 swapoff,再删文件和记录。
内存不足的排查顺序
顺序是:free 看 available 和 Swap;top 找大户;查日志看泄漏或异常重试;停不必要的常驻进程;最后决定调 swappiness、加 Swap 或升级内存。Swap 能救急,不能代替修泄漏和容量规划。
1GB 小内存机的注意事项
小内存机先停不必要的服务,数据库和 Java 应用要把堆与缓存上限设小,避免一启动就占满。Swap 设 1GB 到 2GB 应急即可,不要指望它扛重负载,频繁换页会让响应明显变慢。
- 点赞
- 收藏
- 关注作者
评论(0)