昨天收到zabbix警报邮件,有一个server的 /home 文件夹的使用达成90%以上。检查,发现MongoDB数据文件到这个文件夹。高。而这个MongoDB的数据如今又都不用了。于是就直接把它的数据文件删除了,也没做其它不论什么操作。但是今天zabbix上却显示/home的使用率达到了96%,上去一看,发现一个奇怪的现象
明明/home文件夹仅仅使用了12G ,可是df -h却显示使用了64G ,还有52G 被谁使用了?一直差不出原因,磁盘立即就要被写满了。焦急啊!
后来在一个运维的群里把情况说了一下,立即就有大神说出了原因及解决的方法:假设进程一直在执行。删除该进程的文件后,须要重新启动该进程才干释放进程所占用的文件句柄。
以下是我的解决的方法,在此备忘。也希望能帮助那些遇到相同问题的同学。
lsof /home(所需查询的文件夹名) | grep delete 会列出来该文件夹下已经删除的文件。例如以下图:
果然有之前我删除的文件信息,文件句柄一直没释放。
于是,我重新启动了MongoDB 。再看看:
可用空间已经回来。
版权声明:本文博客原创文章,博客,未经同意,不得转载。