温馨提示×

ubuntu如何回收虚拟内存空间

小樊
40
2025-10-28 16:27:11
栏目: 云计算

Ubuntu回收虚拟内存(Swap)空间的步骤

1. 查看当前虚拟内存使用情况

首先确认系统是否启用了Swap空间及使用量,使用以下命令:

free -h

输出中Swap行显示总大小、已用量和空闲量(如Swap: 2G 0B 2G表示未使用Swap)。

2. 关闭当前Swap空间

若Swap已启用,需先关闭以释放关联的磁盘空间:

sudo swapoff -a

执行后,free -h会显示Swap已用量为0。

3. 清理Swap文件/分区(可选)

若Swap是文件(如/swapfile),可删除并重新创建以彻底清空内容;若为分区(如/dev/sdaX),则无需删除,直接跳到下一步。

  • 删除旧Swap文件(假设路径为/swapfile):
    sudo rm /swapfile
    
  • 创建新Swap文件(以2GB为例):
    sudo fallocate -l 2G /swapfile  # 若fallocate不可用,用`dd if=/dev/zero of=/swapfile bs=1G count=2`
    sudo chmod 600 /swapfile        # 设置权限(仅root可读写)
    sudo mkswap /swapfile           # 格式化为Swap空间
    

4. 重新启用Swap空间

sudo swapon /swapfile  # 启用Swap文件
# 或启用Swap分区(如/dev/sdaX):
# sudo swapon /dev/sdaX

再次运行free -h,确认Swap已启用且使用量为0。

5. 持久化Swap配置(避免重启失效)

编辑/etc/fstab文件,确保系统重启后自动启用Swap:

sudo nano /etc/fstab
  • 若使用Swap文件,添加一行:
    /swapfile none swap sw 0 0
    
  • 若使用Swap分区,添加对应分区路径(如/dev/sdaX none swap sw 0 0)。
    保存并退出(Ctrl+OEnterCtrl+X)。

注意事项

  • Swap的作用:虚拟内存是物理内存的扩展,仅在物理内存不足时启用。若物理内存充足,Swap使用量通常为0,无需频繁清理。
  • 操作风险:关闭Swap可能导致物理内存耗尽时系统崩溃,建议在物理内存充足Swap使用率极低时操作。
  • 清理缓存:若需释放物理内存中的缓存(不影响Swap),可使用:
    sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches  # 清理页面缓存、目录项和inode缓存
    

通过以上步骤,可有效回收Ubuntu系统中的虚拟内存(Swap)空间,释放磁盘资源。

0