首先检查磁盘使用情况,使用df -h和df -i命令定位高占用分区或inode耗尽问题;接着通过du -sh和find命令查找大文件及高占用目录;然后清理系统日志、软件包缓存、临时文件,处理已删除但未释放的文件句柄,并清除Docker残留资源以释放空间。

如果您的LINUX系统提示磁盘空间已满,可能导致程序无法运行、日志无法写入甚至系统崩溃。为避免数据丢失或服务中断,需要立即定位并清理占用大量空间的文件和缓存。
本文运行环境:Dell PowerEdge R750,Ubuntu 24.04
在执行清理操作前,必须先确认磁盘空间的实际使用状态,以确定哪个分区或目录占用了过多空间。这有助于后续精准清理。
1、执行以下命令查看所有挂载分区的磁盘使用率:
df -h
2、观察输出结果中“Use%”列,重点关注使用率超过90%的分区,例如根分区“/”或“/home”。
3、若怀疑是inode耗尽导致空间不足,可运行:
df -i
检查各分区的inode使用率,确保没有达到100%。
通过分析各级目录的大小,可以快速找到占用空间最多的文件夹,从而决定是否需要清理或迁移数据。
1、查看根目录下各子目录的磁盘占用情况:
du -sh /*
2、针对占用较高的目录(如/var、/home)进行深入排查,例如:
du -sh /var/*
3、使用find命令查找大于500MB的单个文件:
find / -type f -size +500M 2>/dev/null
该命令会列出所有符合条件的大文件,便于您手动处理。
日志文件是磁盘空间被迅速耗尽的常见原因,尤其是系统日志和应用日志长期未轮转时,可能增长至数GB。
1、对于使用systemd的系统,限制journal日志总大小:
sudo journalctl --vacuum-size=200M
2、清空特定日志文件内容而不删除文件本身(适用于正在被写入的日志):
sudo truncate -s 0 /var/log/syslog
3、删除旧的日志归档文件:
sudo find /var/log -name "*.log.*" -type f -delete
包管理器在安装软件后会保留下载的安装包缓存,这些文件通常位于缓存目录中,长时间积累会占用大量空间。
1、如果是Debian/Ubuntu系统,请运行:
sudo apt-get clean && sudo apt-get autoremove
2、如果是RHEL/CentOS/Fedora系统,请运行:
sudo dnf clean all && sudo dnf autoremove
或旧版本系统使用:
sudo yum clean all && sudo package-cleanup --oldkernels --count=1
系统和用户产生的临时文件通常存储在/tmp和/var/tmp中,重启后一般不会影响系统运行,可安全清理。
1、清空/tmp目录下的所有文件:
sudo rm -rf /tmp/*
2、同时清理/var/tmp中的持久化临时文件:
sudo rm -rf /var/tmp/*
某些进程可能仍在使用已被删除的文件,导致磁盘空间未被释放。这种情况下,即使文件不可见,空间仍被占用。
1、查找被删除但仍被进程占用的大文件:
lsof | grep deleted
2、记下相关进程的PID,并根据情况决定处理方式:
若可重启服务,则重启对应服务;
若需立即释放空间且不影响业务,可终止该进程:
kill -9 PID
将“PID”替换为实际的进程号。
如果系统上运行了Docker,未使用的镜像、容器、卷和网络会累积占用大量磁盘空间,建议定期清理。
1、清理所有未使用的Docker资源(包括镜像、容器、卷、网络):
docker system prune -a --volumes
2、仅清理停止的容器和未使用的网络:
docker container prune && docker network prune
以上就是LINUX磁盘空间满了怎么清理_LINUX磁盘空间清理实用指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号