Linux磁盘空间被占满但是找不到大文件

最近有个问题恼火的很,服务器磁盘动不动就爆满清理了之后,几个小时也就差不多爆满了。

搞了半天,发现了问题,记录一下。

1 事故现场

发现磁盘空间发现占用接近100%

1
df -h 

2 排查过程

但是逐级排查没有发现大日志文件,该清理的都已经清理了。

点击跳转到`记一次CDH磁盘不足排查`

最后在网上查了一番后才发现有这么一个说法

当我们使用rm在linux上删除了大文件但是如果有进程打开了这个大文件却没有关闭这个文件的句柄那么linux内核还是不会释放这个文件的磁盘空间

3 解决方案

查看已删除文件但是进程没有释放该文件的进程

1
lsof -n | grep deleted

可使用下面命令杀死大部分上述进程,剩下的一些不知道怎么的删不了,自己通过kill -9 一个一个删除

1
lsof -n | grep 'deleted' | grep -v grep | awk '{print $2}'  | xargs kill -s SIGINT
1
kill -9 20440

4 结果查看

Finally 躺板板

红伞伞白杆杆,吃完一起躺板板

躺板板埋山山,亲朋都来吃饭饭

饭饭里有红伞伞,吃完全村埋山山,来年长满红伞伞

联系博主,加入【羊山丨交流社区】

联系博主


本博客所有文章除特别声明外,均为原创。版权归博主小马所有。任何团体、机构、媒体、网站、公众号及个人不得转载。如需转载,请联系博主(关于页面)。如其他团体、机构、媒体、网站、博客或个人未经博主允许擅自转载使用,请自负版权等法律责任!