序幕
最近公司的运维同事老是跟我反映说线上出现磁盘爆满;导致项目奔溃服务不能使用的问题;一开始频率比较低;基本一个月才一次;最近2个星期就会出现一次;问我是不是代码的问题;十分尴尬;这是怀疑本人的代码质量;本屌丝绝对不能容忍;查了这段时间本人写的业务代码;看了几遍都觉得不会出现这个问题;后来决定看看到底是哪里引起的磁盘爆满;再次非常感谢nutz社区的wendal 大牛细心指点;非常感激;
系统信息
Linux version 3.10.0-693.el7.x86_64
([mockbuild@x86-038.build.eng.bos.redhat.com](mailto:mockbuild@x86-038.build.eng.bos.redhat.com))
(gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Thu Jul 6 19:56:57 EDT 2017
排坑记录
查询命令
cd /
du --max-depth=2
查询结果
157552 ./usr/lib64
257968 ./usr/share
0 ./usr/etc
0 ./usr/games
36 ./usr/include
19920 ./usr/libexec
47849536 ./usr/local
0 ./usr/src
48660012 ./usr
0 ./boot/efi
8096 ./boot/grub2
4 ./boot/grub
126912 ./boot
可以看出:
47849536 ./usr/local
看来是 /usr/local 目录, 那就继续执行
cd /usr/local
du --max-depth=2
结果:
du --max-depth=2
0 ./bin
0 ./etc
0 ./games
0 ./include
0 ./lib
0 ./lib64
0 ./libexec
0 ./sbin
0 ./share/applications
0 ./share/info
0 ./share/man
0 ./share
371104 ./src/jdk1.8
14920 ./src/apache-tomcat-7.0.78
47242356 ./src/tomcat7
328492 ./src/tomcat-sdkManage
47956872 ./src
47956872
继续深入
cd /usr/local/src/tomcat7
du --max-depth=2 -h
结果:
du --max-depth=2 -h
804K ./bin
0 ./conf/Catalina
204K ./conf
6.9M ./lib
1.7G ./logs
44G ./temp
132M ./webapps/ROOT
116K ./webapps/951159753357
30M ./webapps/newsdk
188M ./webapps
0 ./work/Catalina
0 ./work
46G .
可以看到是temp这个文件夹里面有临时文件不断增加导致的了
看了里面的数据发现是上传到S3 时创建的临时文件 ;用完没有删除导致不断增长导致;
问题解决;
总结:
首先批评下;写这个工具的同学;写代码没有细心考虑这些问题;害的我擦屁股;然后再次鄙视下这个同学;
其次是更加的确定解决问题的时候一定要努力的去找到问题的根本原因所在;不能去猜测问题;
最后感谢帮助我的几位大牛;非常感谢 !
小记;
网友评论