LINUX 排查磁盘空间占用的常用方法
LINUX 排查磁盘空间占用的常用方法
·
1. 使用 df -h 查看磁盘使用情况
运行 df -h 可以快速了解磁盘使用情况,显示每个挂载点的使用百分比。
df -h
输出会显示每个挂载点的总容量、已用容量、剩余容量及使用百分比,找出使用率最高的文件系统。
2. 使用 du 查找大文件和目录
du 命令可以显示指定目录下的文件大小。使用 du 和 sort 命令组合,能快速定位大文件和目录:
# 查找根目录下的前十个占用空间最大的文件和文件夹
du -ah / | sort -rh | head -n 10
这会按大小显示文件和目录,方便你定位空间占用大的文件或目录。
3. 使用 find 查找大文件
可以通过 find 查找大文件(例如超过 100MB 的文件),以便进一步排查。
find / -type f -size +100M -exec ls -lh {} \; | awk '{ print $NF ": " $5 }'
这里可以指定不同的路径和大小(如 +1G 表示 1GB 以上),定位较大的文件。
4. 检查 /var/log 目录中的日志文件
日志文件经常会积累大量数据,尤其是 /var/log 目录下。可以检查一些常见的日志文件(如 syslog、messages、auth.log 等)是否超大:
du -sh /var/log/*
如果发现某些日志文件较大,可以先备份后清空:
# 清空日志文件
> /var/log/large_log_file.log
5. 检查系统缓存和临时文件
系统缓存和临时文件目录(如 /tmp 和 /var/tmp)可能会堆积较多文件,可以清理:
du -sh /tmp /var/tmp # 清理临时文件 rm -rf /tmp/* rm -rf /var/tmp/*
6. 检查用户目录
用户的主目录(如 /home/username)中可能有大文件或临时文件。可以进入用户目录检查具体文件:
du -sh /home/*
7. 清理系统缓存
使用 sync; echo 3 > /proc/sys/vm/drop_caches 来清理缓存文件,但请谨慎使用。
8. 使用 ncdu(推荐)
如果可以安装工具,ncdu 是一个交互式的磁盘使用分析工具,操作方便且能快速找到占用空间的大文件和目录:
sudo apt install ncdu # 或者 yum install
ncdu /
9. 使用 lsof 查找被删除但占用空间的文件
有时候文件被删除但进程没有释放,导致空间仍被占用。可以用 lsof 找到这些文件:
lsof | grep deleted
更多推荐



所有评论(0)