1.现象
预发环境项目发布时,发现日志不再打印,上传的war包也无法释放,mmp;
2.查看磁盘空间
[root@jr-yfb-ng_tm-10-94 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 190G 190G 20k 100% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 193M 3.7G 5% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 497M 125M 373M 25% /boot
tmpfs 783M 0 783M 0% /run/user/0
[root@jr-yfb-ng_tm-10-94 /]#
3.查看有哪些大文件
这里先查看下日志目录下超过一定阈值的大文件:
[root@jr-yfb-ng_tm-10-94 logs]# find . -size +100M
./catalina.out
......
./redis-quartz.2019-07-05.log
./redis-quartz.log
......
发现有很多超过100M的,还有超过500M的,先删除一波再说。
根据文件名查找:find -name fileName
4.查看指定目录下文件的大小
查看下日志目录下各日志文件的大小,漏网之鱼都干掉。
[root@jr-yfb-ng_tm-10-94 logs]# du -sh *
56M catalina.2019-02-22.log
32M catalina.2019-03-26.log
8.0M catalina.2019-03-30.log
152K catalina.2019-04-01.log
20K catalina.2019-04-10.log
68K catalina.2019-07-02.log
......
0 manager.2019-07-05.log
0 redis-quartz.2019-07-04.log
725M redis-quartz.2019-07-05.log
1.1G redis-quartz.log
......
5.再次查看磁盘空间
[root@jr-yfb-ng_tm-10-94 /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 190G 190G 20k 100% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 193M 3.7G 5% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 497M 125M 373M 25% /boot
tmpfs 783M 0 783M 0% /run/user/0
[root@jr-yfb-ng_tm-10-94 /]#
很惊喜,一顿操作猛如虎,最后发现没有用。
删了一堆加起来得有大几十个G的文件,释放的空间呢?
6.查看文件使用情况
[root@CENTSVR247 logs]# lsof|grep deleted
zabbix_ag 1473 zabbix 1w REG 253,0 928 103495016 /tmp/zabbix_agentd.log (deleted)
zabbix_ag 1473 zabbix 2w REG 253,0 928 103495016 /tmp/zabbix_agentd.log (deleted)
zabbix_ag 1473 zabbix 3wW REG 253,0 4 103495017 /tmp/zabbix_agentd.pid (deleted)
zabbix_ag 1482 zabbix 1w REG 253,0 928 103495016 /tmp/zabbix_agentd.log (deleted)
zabbix_ag 1482 zabbix 2w REG 253,0 928 103495016 /tmp/zabbix_agentd.log (deleted)
zabbix_ag 1482 zabbix 3w REG 253,0 4 103495017 /tmp/zabbix_agentd.pid (deleted)
zabbix_ag 1483 zabbix 1w REG 253,0 928 103495016
......
发现很多文件是删除的状态,但是空间还未释放,应该是有进程还在使用这些文件,导致这些以被删除的文件一致被占用,无法释放磁盘空间。
7.释放空间
由于大量的文件虽然被删除了,但是还是被进程占用着,所以kill -9 pid,杀掉这些进程,或者重启这些进程对应的服务,再次查看磁盘空间,发现空间释放出一百多G。
[root@jr-yfb-ng_tm-10-94 logs]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 190G 30G 161G 16% /
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 193M 3.7G 5% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/sda1 497M 125M 373M 25% /boot
tmpfs 783M 0 783M 0% /run/user/0
8.查看效果
查看下日志目录下的空间
[root@jr-yfb-ng_tm-10-94 tomcat-redis-task]# du -sh ./logs/
3.3G ./logs/
9.后续处理
清理了磁盘空间,这只是解决了目前的问题,合理的设置日志级别,在合理的地方埋点打日志,否则再大的空间也会撑满。