您的位置:首页 > 运维架构 > Linux

Linux解决rm 删除大文件后 磁盘空间无法释放的问题

2016-12-01 09:24 549 查看
Linux解决rm 删除大文件后 磁盘空间无法释放的问题

在Linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间,最后造成磁盘空间占用100%,整个系统无法正常运行。这种情况下,通过df和du命令查找的磁盘空间,两者是无法匹配的,可能df显示磁盘100%,而du查找目录的磁盘容量占用却很小。

遇到这种情况,基本可以断定是某些大文件被某些程序占用了,并且这些大文件已经被删除了,但是对应的文件句柄没有被某些程序关闭,造成内核无法收回这些文件占用的空间。

查找出那些已经删除但是继续占用内存空间的文件:
lsof -n | grep deleted

或者直接查找删除的大文件
lsof -n | grep deleted |grep debug
rsyslogd 5154 root 7w REG 8,3 94263283712 6030228 /var/log/debug.log (deleted)

关掉或者重启占用这些文件的应用程序就可以释放磁盘空间了
/etc/init.d/rsyslogd restart
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 应用程序