linux磁盘满时,如何定位并删除文件

@1.一般情况
 
一般情况下先df看一下,然后cd到要满的盘,执行:
du -shx *
 
这样可以列出所有文件夹的大小(x参数会去除掉mount上去的目录,如samba挂上去的盘,这会干扰统计的)
 
进去如果有子文件夹,那就继续执行du -shx * 一级一级地找
 
@2.特殊情况(有文件被删除,却被某进程占用,并且还在写)
 
这种情况的表现是,用1中的方法无法找到占用磁盘的文件,而且du -shx整个盘得到的结果和df的结果差别很大,那肯定是有文件被删除,但被进程占用,而且还在写。这样的被删除文件仍然会占用磁盘,被写入时,空间自然下降了,这种情况用前面的方法是无法找到文件的。
 
方法:
 
lsof | grep deleted
 
这样就可以找到被删除的却还被进程占用的文件了,进程也被列出,把相关的进程重启一遍,空间就被释放了。

posted on 2016-05-22 15:03  杭州糊涂虫  阅读(398)  评论(0编辑  收藏  举报

导航