利用 df -h 查看磁盘使用率
发现/vdb使用率超过85%
然后找到/vdb里面文件体积最大的那个文件发现是tomcat的输出日志文件catalina.2024-09-13.log
这个文件有150G
此时tomcat还在运行,没经验的我直接就将这个catalina.2024-09-13.log给删了。
因为tomcat 还在使用这个日志文件还再往里面写入数据,我一删除
导致tomcat直接卡在这里了,他想往catalina.2024-09-13.log里面写数据,但是却找不到这个文件。。
然后就会出现 df -h 看到/vdb使用率超过85%,但是du -h --max-depth=1 /vdb只看到/vdb只有8.3G大小。
这确实非常奇怪。
lsof |grep catalina.2024-09-13.log
如果要解决这种问题,只能重启tomcat,但是对于一些不能随便重启的服务,重启tomcat是有很大的风险。
所以最好的办法就是,看到一个这么大的日志文件,
先把里面的最新的200行写入到一个新建的日志文件中
tail -200f catalina.2024-09-13.log > 2024-09-13.log
然后再把这个巨大的日志文件中的内容用 空内容去覆盖他。
echo " " > catalina.2024-09-13.log
这样既保住了catalina.2024-09-13.log这个文件还存在,又让这个文件体积减小了、