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

Posted 杭州糊涂虫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux磁盘满时,如何定位并删除文件相关的知识,希望对你有一定的参考价值。

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

以上是关于linux磁盘满时,如何定位并删除文件的主要内容,如果未能解决你的问题,请参考以下文章

linux监控磁盘情况并自动删除备份文件

1.linux服务器磁盘满了,怎么删除

Linuxlinux之如何清理磁盘空间

Linux-软链接硬链接

创建一个缓存文件,当libc(所有文件系统)或ext4中的分区快满时自动删除?

linux下查看磁盘空间占用