首先确认系统是否启用了Swap空间及使用量,使用以下命令:
free -h
输出中Swap行显示总大小、已用量和空闲量(如Swap: 2G 0B 2G表示未使用Swap)。
若Swap已启用,需先关闭以释放关联的磁盘空间:
sudo swapoff -a
执行后,free -h会显示Swap已用量为0。
若Swap是文件(如/swapfile),可删除并重新创建以彻底清空内容;若为分区(如/dev/sdaX),则无需删除,直接跳到下一步。
/swapfile):sudo rm /swapfile
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空间
sudo swapon /swapfile # 启用Swap文件
# 或启用Swap分区(如/dev/sdaX):
# sudo swapon /dev/sdaX
再次运行free -h,确认Swap已启用且使用量为0。
编辑/etc/fstab文件,确保系统重启后自动启用Swap:
sudo nano /etc/fstab
/swapfile none swap sw 0 0
/dev/sdaX none swap sw 0 0)。Ctrl+O→Enter→Ctrl+X)。sudo sync && sudo echo 3 > /proc/sys/vm/drop_caches # 清理页面缓存、目录项和inode缓存
通过以上步骤,可有效回收Ubuntu系统中的虚拟内存(Swap)空间,释放磁盘资源。