问题表现:系统频繁使用Swap(可通过free -h查看Swap使用率接近100%),导致性能急剧下降(如进程卡顿、响应延迟)。
解决方法:
sudo fallocate -l 2G /swapfile # 创建2GB Swap文件(若fallocate不可用,用dd命令:sudo dd if=/dev/zero of=/swapfile bs=1G count=2)
sudo chmod 600 /swapfile # 设置仅root可访问
sudo mkswap /swapfile # 格式化为Swap空间
sudo swapon /swapfile # 启用Swap
/etc/fstab文件末尾:/swapfile none swap sw 0 0
sudo sysctl vm.swappiness=10 # 建议值:10-30(默认60,值越低越优先使用物理内存)
/etc/sysctl.conf,添加或修改:vm.swappiness=10
应用更改:sudo sysctl -p。问题表现:Swap未显示在swapon --show或free -h中,系统未使用Swap。
解决方法:
sudo swapon /dev/sdXY # 若为分区(如/dev/sda2);若为Swap文件,用sudo swapon /swapfile
/etc/fstab配置:/dev/sdXY none swap sw 0 0
或(Swap文件示例):/swapfile none swap sw 0 0
保存后,执行sudo swapon -a重新加载所有Swap配置。问题表现:Swap使用率长期处于高位(如超过50%),即使物理内存充足。
解决方法:
top或htop查看高内存进程,用kill [PID]终止)。问题表现:系统使用Swap时性能下降明显(如磁盘I/O高、进程响应慢)。
解决方法:
/etc/fstab错误)问题表现:系统重启后Swap未自动启用,或启动时报Swap相关错误。
解决方法:
/etc/fstab语法:确保Swap条目格式正确(无拼写错误、设备名/路径存在)。sudo blkid查看Swap分区的UUID,确保/etc/fstab中的UUID与之匹配。sudo swapoff -a # 先禁用所有Swap
sudo swapon -a # 重新启用所有Swap(根据/etc/fstab配置)
journalctl -xe | grep -i swap或grep -i swap /var/log/syslog定位具体错误。问题表现:Swap逻辑卷未激活,导致系统无法使用Swap。
解决方法:
sudo vgchange -ay # 激活所有LVM卷组
sudo lvdisplay # 查看逻辑卷是否处于“active”状态
sudo swapon /dev/[卷组名]/[逻辑卷名] # 如/dev/vg_swap/lv_swap
/etc/fstab中使用了正确的LVM设备路径。问题表现:无法确定Swap故障的具体原因(如内核错误、硬件问题)。
解决方法:
dmesg | grep -i swap # 查找内核与Swap相关的内存错误
journalctl -xe | grep -i swap # 查找系统服务与Swap相关的启动错误
fsck修复文件系统(需从Live CD启动,避免数据损坏)。以上方法覆盖了Debian Swap使用的常见场景,操作前请备份重要数据(尤其是修改/etc/fstab时),避免误操作导致系统无法启动。若问题仍未解决,建议提供具体错误日志(如dmesg或journalctl输出)以便进一步排查。