早上上班,发现项目的图片不显示了,故登录服务器,发现应用服务器正常运行,但是磁盘空间已经达到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
再次查询磁盘空间,发现已经释放。