先查询系统文件存储最大的地方

df-h

这步就能查出系统哪个目录占用最大

linux磁盘占用99%排查思路和清理_linux


可以看出是docker的目录占用了接近89%

依次查询文件夹中文件占用

du -sh /* | sort -nr

linux磁盘占用99%排查思路和清理_容器_02


可以查到/var目录占了接近138G

依次查询下级目录

linux磁盘占用99%排查思路和清理_容器_03


linux磁盘占用99%排查思路和清理_docker_04


成功定位到一个77G的json日志

linux磁盘占用99%排查思路和清理_f5_05

注意:这里删除文件后文件占用并不会马上释放

复制docker文件内容占用最大的容器md5文件夹(257fdc203d62d27925b872ca3938053b516a63a75b0197f5aa026d574e0e9421),接着使用md5搜索出docker容器的文件名

#语法为
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep md5值
#即为
docker ps -q | xargs docker inspect --format '{{.State.Pid}}, {{.Id}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}' | grep 257fdc203d62d27925b872ca3938053b516a63a75b0197f5aa026d574e0e9421

linux磁盘占用99%排查思路和清理_3d_06


输出依次为,进程pid、容器ID、容器名、存储work路径。将此容器重启后文件占用恢复正常

linux磁盘占用99%排查思路和清理_3d_07