Ubuntu中Swapper故障的常见解决方法
首先确认Swap分区是否启用,使用sudo swapon --show命令查看。若未启用,可通过sudo swapon /dev/sdXY(/dev/sdXY为Swap分区设备名,如/dev/sda3)手动启用。
若Swap分区损坏或不存在,需重新创建:
sudo swapoff -a;sudo umount /dev/sdXY;sudo dd if=/dev/zero of=/dev/sdXY bs=1M count=8192(count可根据需求调整大小,如8192MB=8GB);sudo mkswap /dev/sdXY;sudo swapon /dev/sdXY。Swappiness值(默认60)决定系统使用Swap的频率,数值越高越易使用Swap(可能导致性能下降)。
cat /proc/sys/vm/swappiness;sudo sysctl vm.swappiness=10;/etc/sysctl.conf,添加vm.swappiness=10,重启生效。确保/etc/fstab中包含Swap分区的自动挂载配置,格式如下:
/dev/sdXY none swap sw 0 0(/dev/sdXY为Swap分区设备名)。若未配置,添加后保存,执行sudo mount -a测试是否生效。
若Swap故障与引导相关,可重新安装GRUB:
sudo mount /dev/sdXY /mnt(/dev/sdXY为系统根分区);sudo grub-install --boot-directory=/mnt/boot /dev/sdX(/dev/sdX为系统硬盘,如/dev/sda);sudo update-grub。使用journalctl -xe或grep -i swap /var/log/syslog查看与Swap相关的错误日志,根据日志提示进一步排查(如磁盘错误、权限问题等)。
通过free -h查看内存与Swap使用情况,top/htop监控进程资源占用,df -h检查磁盘空间是否充足(避免因磁盘满导致Swap无法使用)。
若物理分区不便调整,可创建Swap文件:
sudo fallocate -l 1G /swapfile;sudo chmod 600 /swapfile;sudo mkswap /swapfile;sudo swapon /swapfile;echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab。