在 Debian 系统中,swapper 报错通常不是指某个叫 “swapper” 的程序崩溃,而是指内核中的交换机制(swap / swapper 进程)出现问题,常见于 dmesg、syslog 或系统卡死时的报错信息里。
下面按常见原因 → 表现 → 解决办法来说明。
swapper 是 Linux 内核进程(PID 0)swapper: page allocation failure
或oom killer invoked by swapper
表现
Out of memory: Killed process
swapper page allocation failure
原因
解决
# 查看 swap
swapon --show
free -h
如果没有:
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
表现
I/O error on swap device
解决
dmesg | grep -i error
smartctl -a /dev/sdX
必要时:
表现
排查
ps aux --sort=-%mem | head
常见 culprit:
例如:
vm.min_free_kbytes 太小swappiness=0 但内存紧张查看
cat /proc/sys/vm/swappiness
建议
# 临时
sysctl vm.swappiness=60
# 永久
echo 'vm.swappiness=60' | sudo tee -a /etc/sysctl.conf
轻量 VPS 常见:
systemctl status zram-config
free -h
swapon --show
dmesg | grep -i swap
dmesg | grep -i oom
ps aux --sort=-%mem | head
你可以贴出:
free -hcat /etc/debian_version)我可以直接告诉你是哪一类问题、该怎么修。