序幕
最近公司的運維同事老是跟我反映說線上出現磁盤爆滿;導致項目奔潰服務不能使用的問題;一開始頻率比較低;基本一個月才一次;最近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 時創建的臨時文件 ;用完沒有刪除導致不斷增長導致;
問題解決;
總結:
首先批評下;寫這個工具的同學;寫代碼沒有細心考慮這些問題;害的我擦屁股;然后再次鄙視下這個同學;
其次是更加的確定解決問題的時候一定要努力的去找到問題的根本原因所在;不能去猜測問題;
最后感謝幫助我的幾位大牛;非常感謝 !
小記;