在 Ubuntu(及其它 Linux 发行版)中,swapper / swap 频繁被使用通常不是“swapper 本身有问题”,而是系统内存压力或配置导致内核频繁把内存页换出到 swap。下面从概念、原因、排查和解决方法几个层面说明。
idle)swapon -s 中 swap 使用量持续增长top / htop 里 si(swap in)/ so(swap out)不为 0判断:
free -h
如果:
Mem 几乎用满Swap 持续增长那就是内存不够。
Ubuntu 默认:
cat /proc/sys/vm/swappiness
# 通常是 60
含义:
例如:
这些内存页会被内核认为“可换出”。
hibernateswapon --show
free -h
vmstat 1
关注:
si so
si/so 长期 > 0 → 频繁 swaptop
# 或
htop
按内存排序(Shift+M)
sudo sysctl vm.swappiness=10
永久生效:
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
桌面用户常设为
10或1
用压缩内存代替磁盘 swap:
sudo apt install zram-config
查看:
sudo swapoff -a
⚠️ 仅在内存充足时
永久关闭需改 /etc/fstab
sudo apt install smem
smem -s uss -r | head
Ubuntu 频繁使用 swap,本质几乎都是“内存不够或 swappiness 太高”,不是 swapper 的错。
如果你愿意,可以贴出:
free -hswapon --showvmstat 1 几行输出我可以帮你精准判断是内存不足还是配置问题。