Ubuntu中清理不必要交换文件的步骤
首先确认系统中启用的交换空间(包括交换文件或分区)及其使用状态,常用命令如下:
sudo swapon --show:显示详细交换空间信息(名称、大小、类型等);free -h:以人类可读格式(GB/MB)展示内存与交换空间的使用率。若需清理的交换空间为文件(如常见的/swapfile),需先停止其使用,避免数据损坏:
sudo swapoff -v /swapfile
命令中的-v参数会显示操作详情(如“正在关闭交换文件”)。若系统有多个交换文件/分区,需逐一关闭。
关闭后,通过rm命令彻底删除物理文件:
sudo rm /swapfile
注意:此操作不可逆,请确认文件路径正确(可通过ls -lh /swapfile再次核对)。
为防止系统重启后自动重新启用已删除的交换文件,需编辑/etc/fstab文件:
sudo nano /etc/fstab
找到类似以下内容的行(路径需与目标交换文件一致):
/swapfile swap swap defaults 0 0
删除该行或在其前添加#注释,保存后退出(Ctrl+O→Enter→Ctrl+X)。
若仍需交换空间,可重新创建并配置:
sudo fallocate -l 4G /swapfile # 创建4GB交换文件(可根据内存大小调整,如8G内存建议4G交换)
sudo chmod 600 /swapfile # 设置严格权限(仅root可读写)
sudo mkswap /swapfile # 格式化为交换空间
sudo swapon /swapfile # 启用交换文件
sudo swapon --show # 验证启用状态
完成后,建议再次编辑/etc/fstab添加对应条目,确保重启后自动启用。
sudo swapoff -a && sudo rm /swapfile && sudo sed -i '/swapfile/d' /etc/fstab
vm.swappiness参数(降低系统使用交换空间的频率,如设置为10):sudo sysctl vm.swappiness=10 # 临时生效
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf # 永久生效