linux虚拟机系统磁盘使用率100%问题分析
问题描述
问题现象:
xvda2磁盘使用率达到100%

xvda2磁盘使用率达到100%

告警信息
FCportal上产生虚拟机系统磁盘使用率过高的告警
处理过程
1、重启虚拟机
2、将持有删除文件的句柄的进程kill掉。(业务部门请确认一下为什么一个零时文件最多达到3G,虽然被删除了,但是句柄没有被释放,是不是业务处理有问题)。
2、将持有删除文件的句柄的进程kill掉。(业务部门请确认一下为什么一个零时文件最多达到3G,虽然被删除了,但是句柄没有被释放,是不是业务处理有问题)。
根因
通过df命令跟du命令的对比发现两者不一致。
常见的df和du不一致情况就是文件删除的问题。当一个文件被删除后,在文件系统目录中已经不可见了,所以du就不会再统计它了。然而如果此时还有运行的进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改。这样df仍旧会统计这个被删除了的文件。
常见的df和du不一致情况就是文件删除的问题。当一个文件被删除后,在文件系统目录中已经不可见了,所以du就不会再统计它了。然而如果此时还有运行的进程持有这个已经被删除了的文件的句柄,那么这个文件就不会真正在磁盘中被删除,分区超级块中的信息也就不会更改。这样df仍旧会统计这个被删除了的文件。
1、通过delete.log日志文件可以看出来,系统中存在很多文件被删除,但是仍然被进程持有句柄,导致文件实际上没有被删除。
2、通过将没有释放删除文件句柄的进程kill掉,发现可用的磁盘增加了1.3G


建议与总结
由于存在进程一直持有已经删除文件的句柄,导致删除的文件仍然在磁盘上没有被释放,所以仍然占用磁盘空间,导致磁盘空间被占满,在删除文件时,关注是否存储进程一直持有其句柄,如果有,需要及时kill掉。
阅读剩余
版权声明:
作者:SE_You
链接:https://www.cnesa.cn/1530.html
文章版权归作者所有,未经允许请勿转载。
THE END