1、查看磁盘占用情况
$ df -h
2、查看占用的目录结构
$ du -sh *
发现文件目录占用并不是很多,可磁盘依旧100%,怀疑可能未能正常释放。
3、查看未正常删除的文件
$ lsof | grep deleted
$ sudo apt-get install lsof #lsof不存在就安装下好了
$ lsof | grep deleted #再看下呢
java 29706 29954 sc 1w REG 8,3 6395798818 11013600 /home/sc/tomcat/tomcat-56080/logs/catalina.out (deleted)
java 29706 29954 sc 2w REG 8,3 6395798818 11013600 /home/sc/tomcat/tomcat-56080/logs/catalina.out (deleted)
java 29706 29954 sc 7w REG 8,3 5455 11013224 /home/sc/tomcat/tomcat-56080/logs/catalina.2018-06-22.log (deleted)
java 29706 29954 sc 8w REG 8,3 665 11013225 /home/sc/tomcat/tomcat-56080/logs/localhost.2018-06-22.log (deleted)
java 29706 29954 sc 9w REG 8,3 0 11013226 /home/cs/tomcat/tomcat-56080/logs/manager.2018-06-22.log (deleted)
java 29706 29954 sc 10w REG 8,3 0 11013227 /home/sc/tomcat/tomcat-56080/logs/host-manager.2018-06-22.log (deleted)
java 29706 29954 sc 56w REG 8,3 720 11015316 /home/sc/tomcat/tomcat-56080/logs/localhost_access_log.2018-06-26.txt (deleted)
看到很多很多log未能正常清理,kill 掉吧。
原因:在删除一个非静态文件时,因为有进程在不停地写,导致打开的句柄,写入到了一个无效的文件(被删除),从而引起句柄未能释放。
正确姿势:
$ echo > /home/sc/xxx/catalina.out
#或
$ echo "" > /home/sc/xxx/catalina.out
#或
$ echo /dev/null > /home/sc/xxx/catalina.out