Linux 排查磁盘空间

通过 df -h 查看Linux磁盘空间。(可以通过 df --help 查看 df 命令更多更详细的用法)

如何找到占用空间大的目录或文件?

在目录下,通过 du -sh 命令,列出各目录所占空间大小。(可以通过 du --help 查看 du 命令更多更详细的用法)

通过 du 的 -d 参数,或 --max-depth,设置查询的目录深度,并通过 grep 进行过滤,搜出以G或者T为单位的占用磁盘空间的大目录,并排序。

或者可以通过 find 命令来查询:

find / -type f -size +1G -exec du -h {} \;

还有就是有的空间被已删除文件占用,很好用的命令:lsof,我们可以通过以下命令去查看:

lsof +L1

从结果可以看出被占用的大日志文件是什么,可以重启相对应的服务,例如重启 tomcat 应用,释放空间。

磁盘空间莫名被吃?

有时还会发现,磁盘的 Used 和 Avail 加起来不够 Size,莫名被吃掉一部分。其实这是 Linux 文件系统的一种安全策略,它默认会为 root 用户保留 5% 的磁盘空间,留作紧急情况使用。我们可以通过 tune2fs 修改预留空间的比例。

tune2fs -m 1 /dev/vda1    #为/dev/vda1磁盘的 root 用户设置保留 1% 的磁盘空间

你可能感兴趣的:(Linux基础,运维,linux,运维,服务器)