Linux磁盘占用100%的排查方法

背景:

/分区被堆满了,导致一些服务无法正常运行。在删掉/下占用空间大的文件后,查看该分区占用率依旧很高。

 Linux磁盘占用100%的排查方法

解决:

1对/下所有文件大小进行统计,排查文件存储占用磁盘空间

#du -sh /*

2排查inode使用率过高将磁盘空间占满

#df -i

3排查空间不释放问题

#lsof |grep deleted|awk '{print $2}'|uniq   #把输出的值kill -9删除掉,df -h再次查看   #执行时可能会卡顿,耐心等待即可

结果:

排查到由于空间不释放原因导致磁盘占用100%。杀死僵死文件【已经被删除,但是有服务程序在使用这些文件,导致这些文件一直被占用,无法释放磁盘空间】后查看恢复正常。

Linux磁盘占用100%的排查方法

后续:

服务正常运行2天以后又出现磁盘占用率高的问题。可通过以下命令查看导致僵死文件的具体进程

#lsof |grep deleted|awk '{print $1}'|uniq可以查看占用进程名称

或者

#lsof |grep deleted|awk '{print $2}'|uniq  #输出进程号

#ps -ef|grep  输出进程号    #查看具体进程

 

上一篇:ps-ef|grep命令详解


下一篇:【Linux命令】linux一行命令杀掉指定名称进程(killall 、kill 、pkill)