Debian Swapper常见问题及解答
使用free -h命令可快速查看系统内存与Swap的总使用量、剩余量及利用率;swapon --show命令能详细列出当前启用的Swap分区/文件(包括设备名称、类型、大小、已用空间等信息)。这两个命令是日常监控Swap状态的常用工具。
若Swap使用率长期接近100%,需通过以下方式扩容:
fallocate -l 4G /swapfile(4G为例)创建指定大小的文件,执行chmod 600 /swapfile设置权限(仅root可读写),再用mkswap /swapfile格式化为Swap空间,最后用swapon /swapfile启用。fdisk /dev/sdX(X为硬盘标识,如sda)创建新分区,将分区类型改为“Linux swap”(代码82),格式化(mkswap /dev/sdXY,XY为分区号)后启用(swapon /dev/sdXY)。/etc/fstab文件(如/swapfile none swap sw 0 0或/dev/sdXY none swap sw 0 0),确保系统重启后自动挂载。swappiness是内核参数,控制系统使用Swap的倾向(值范围0-100):
sudo sysctl vm.swappiness=10(立即生效,重启失效);/etc/sysctl.conf文件,添加vm.swappiness=10,然后执行sudo sysctl -p使配置生效。sudo swapoff -a命令关闭所有已启用的Swap分区/文件(系统重启后会恢复)。/etc/fstab文件,找到Swap相关的行(如/dev/sdXY none swap sw 0 0或/swapfile none swap sw 0 0),在行首添加#注释,保存后重启系统即可。/etc/fstab中Swap条目格式正确(无拼写错误、路径存在),或Swap分区类型为“Linux swap”(代码82)。journalctl -xe或/var/log/syslog查看启动时的错误信息(如权限不足、设备不存在)。fsck /dev/sdXY(X为硬盘标识,Y为分区号)修复(需先卸载Swap)。swapoff现有Swap,删除旧分区/文件,重新创建并启用Swap。即使系统负载低,若物理内存充足,Swap仍可能被使用,主要原因是:
vm.swappiness值大于0(如默认60),系统会主动将部分内存数据换出到Swap,以预留内存给可能的后台进程。