tip:测试环境接收行情的机器总是出现磁盘不足,明明把日志都清理了,按理应该够用了,当使用du -sh *
发现实际占用与df -h
对不上,难道这个命令有bug?也不是没可能
-
df -h查看磁盘发现使用了128G,实际并没有使用128G
-
去根目录使用
du -sh *
查看各目录具体是用了多少内存
综上所述:df -h
momery >du -sh *
momery 那么两者的差值去哪了? -
lsof -ngrep deleted
查看已删除空间却没有释放的进程
这里的nohup日志明明是删除了的,实际他被内核一直在引用着,并没有把空间释放掉,真相往往是因为自己太蠢而导致的,一勘查发现里面有大量的类似这样大型日志文件被引用着。
原因分析:因为同一个team都在使用这台机器,有时候同事会打开这个日志文件查看日志,而这时如果我去执行rm -rf 的操作就会导致文件实际删除了而这个文件的内核引用会一直存在(我确实在磁盘不够用的时候去删过nohup这类日志文件),当然这只是我想到的一个原因,至于其它的原因交给你广大的萌新去发现吧,
kill -9 pid
可以干掉这些deleted
状态的内核引用,然后使用du -h去看磁盘空间回来了,可以继续使劲的造了。(每天手动清日志,那不是一个优秀的程序猿该干的混账事)