当Linux系统磁盘空间不足时,可能会导致系统运行缓慢、应用程序崩溃甚至无法启动。以下是5个紧急步骤,帮助你快速释放磁盘空间并恢复系统正常运行。

1. 快速定位大文件或目录
使用以下命令快速查找占用磁盘空间最多的文件或目录:
sudo du -ahx / | sort -rh | head -n 20
-
du -ahx:显示目录及其子目录的磁盘使用情况。 -
sort -rh:按文件大小降序排序。 -
head -n 20:显示前20个最大的文件或目录。
操作建议:
-
删除不需要的大文件(如日志文件、临时文件等)。
-
如果发现某个目录占用空间过大,可以进一步检查其内容:
du -ahx /path/to/directory | sort -rh | head -n 10
2. 清理日志文件
日志文件(尤其是系统日志)可能会占用大量磁盘空间。使用以下方法清理日志文件:
-
查看日志文件大小:
sudo du -sh /var/log
-
清空日志文件:
-
使用
truncate命令清空日志文件(保留文件,但内容清空):sudo truncate -s 0 /var/log/syslog sudo truncate -s 0 /var/log/kern.log
-
或者直接删除旧日志文件:
sudo rm /var/log/*.log.*
-
-
配置日志轮转:
编辑/etc/logrotate.conf文件,调整日志轮转策略,避免日志文件过大。
3. 清理包缓存和未使用的软件包
Linux系统会缓存已安装的软件包,这些缓存可能占用大量空间。
-
清理APT缓存(Debian/Ubuntu):
sudo apt clean
-
清理YUM/DNF缓存(CentOS/RHEL/Fedora):
sudo yum clean all sudo dnf clean all
-
删除未使用的软件包:
-
Debian/Ubuntu:
sudo apt autoremove
-
CentOS/RHEL/Fedora:
sudo yum autoremove sudo dnf autoremove
-
4. 检查并清理临时文件
临时文件(如 /tmp 和 /var/tmp)可能会积累大量无用数据。
-
清理
/tmp和/var/tmp:sudo rm -rf /tmp/* sudo rm -rf /var/tmp/*
-
清理用户缓存:
检查并清理用户主目录下的缓存文件(如.cache目录):du -sh ~/.cache rm -rf ~/.cache/*
5. 扩展磁盘空间(可选)
如果清理后磁盘空间仍然不足,可以考虑扩展磁盘空间:
-
扩展虚拟机磁盘:
-
如果是虚拟机(如VMware、VirtualBox),可以通过虚拟机管理工具扩展磁盘大小。
-
扩展后,使用
fdisk或parted工具调整分区大小。
-
-
挂载新磁盘:
-
添加新磁盘并挂载到系统:
sudo mkfs.ext4 /dev/sdb1 sudo mount /dev/sdb1 /mnt/newdisk
-
将
/mnt/newdisk添加到/etc/fstab中,实现开机自动挂载。
-
额外提示:监控磁盘空间
为了避免未来再次遇到磁盘空间不足的问题,可以设置磁盘空间监控:
-
使用
df命令查看磁盘使用情况:df -h
-
设置磁盘空间告警:
-
使用
cron定期检查磁盘空间并发送告警邮件。 -
示例脚本:
#!/bin/bash THRESHOLD=90 DISK_USAGE=$(df -h / | awk 'NR==2 {print $5}' | sed 's/%//') if [ $DISK_USAGE -gt $THRESHOLD ]; then echo "Disk space is above $THRESHOLD% on $(hostname)" | mail -s "Disk Space Alert" [email protected] fi
-
通过以上5个步骤,你可以快速释放磁盘空间并恢复系统正常运行。如果问题仍然存在,建议进一步检查是否有异常进程占用磁盘空间(如日志文件快速增长),或者考虑迁移数据到其他存储设备。