tomcat日志删除磁盘空间未释放解决办法

来源:V型知识库 2018年12月21日 09:49 浏览:3246

早上上班,发现项目的图片不显示了,故登录服务器,发现应用服务器正常运行,但是磁盘空间已经达到100%,怀疑是tomcat日志满了造成的,执行如下命令可查询那个目录占用多少空间

# du -h --max-depth=1 /tomcat/*

发现果然是tomcat的logs目录下catalina.out文件达到上百G,几乎占用了98%的磁盘空间,所以直接执行了

rm -rf catalina.out

然后查询空间发现还是占用了100%,磁盘空间并未释放,这就奇怪了,明明已经删除,但是空间怎么不释放呢,查询了下,原来直接删除catalina.out并不能释放磁盘空间要用清空命令才可以生效。

清空catalina.out动态日志(rm -rf是无效的) 

echo ” ” > catalina.out {可以清空}

但是,我已经使用了rm -rf指令了,肿么办,其实很简单,解决办法如下:

查看未正常删除的文件

#lsof | grep deleted

mysqld    12200 mysql    4u      REG              252,1           0     396337 /tmp/ibfWsmDI (deleted)
mysqld    12200 mysql    5u      REG              252,1           0     396349 /tmp/ibKpDEY5 (deleted)
mysqld    12200 mysql    6u      REG              252,1           0     396350 /tmp/ibxMTWjt (deleted)
mysqld    12200 mysql    7u      REG              252,1           0     396351 /tmp/ibpRhB2d (deleted)
mysqld    12200 mysql   13u      REG              252,1           0     396352 /tmp/ibcslqDB (deleted)
tail      17848  root    3r      REG              252,1 95550277975    1319401 /usr/local/apache-tomcat-7.0.2/logs/catalina.out (deleted) 



//www.vxzsk.com V型知识库原创

如上述显示,最有一条就是删除tomcat日志的进程,进程号为17848,然后执行kill命令

kill -9 17848

再次查询磁盘空间,发现已经释放。