Ubuntu Swap空间满了怎么办

1835
2025/4/3 15:31:56
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

当Ubuntu的Swap空间满了,你可以采取以下几种方法来解决这个问题:

增加Swap空间

  1. 创建一个新的Swap文件:
  • 使用 fallocate 命令创建一个指定大小的文件,例如4GB:
    sudo fallocate -l 4G /swapfile
    
  • 设置文件权限:
    sudo chmod 600 /swapfile
    
  • 格式化文件为Swap格式:
    sudo mkswap /swapfile
    
  • 启用Swap文件:
    sudo swapon /swapfile
    
  • 使Swap文件在启动时自动加载,编辑 /etc/fstab 文件并添加以下行:
    /swapfile none swap sw 0 0
    
  1. 调整现有Swap文件的大小:
  • 如果需要增加现有Swap文件的大小,可以使用 resize2fs 命令(适用于ext2/ext3/ext4文件系统)或 xfs_growfs 命令(适用于XFS文件系统)。
  • 然后重新启用Swap文件。

清理Swap空间

  1. 临时清除Swap空间:
  • 使用 swapoff -a 命令禁用所有Swap分区,等待片刻后再次使用 swapon -a 命令重新启用:
    sudo swapoff -a
    sudo swapon -a
    
  • 可以通过修改 /proc/sys/vm/swappiness 参数来降低系统使用Swap的频率:
    sudo sysctl vm.swappiness=50
    
  1. 永久清除Swap空间(需谨慎操作,可能会影响系统性能):
  • 停用并删除Swap文件:
    sudo swapoff /swapfile
    sudo rm /swapfile
    
  • 从 /etc/fstab 文件中删除相应的行。

优化Swap使用

  • 调整Swappiness值:
    • 查看当前Swappiness值:
      cat /proc/sys/vm/swappiness
      
    • 临时设置Swappiness值:
      sudo sysctl vm.swappiness=50
      
    • 永久设置Swappiness值,编辑 /etc/sysctl.conf 文件:
      echo 'vm.swappiness=50' >> /etc/sysctl.conf
      
  • 监控Swap使用情况:
    • 使用 free -h 命令定期检查内存和Swap的使用情况。

通过以上方法,你可以有效地管理Ubuntu系统的Swap空间,确保系统在物理内存不足时仍能正常运行。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 怎么查看ubuntu系统的版本