已删除的文件的进程占用空间导致根分区爆满
方式1:不建议采用,风险大
du -sh ./ # 查看后发现根目录空间并未沾满 lsof |grep delete #查看已删除的文件,但还占用空间 # java 28893 jenkins 19r REG 8,3 1484022 5376261 /tmp/jna4374897431416021330jar (deleted) kill -9 28893 # 杀掉这个进程,但不建议使用
方式2:建议使用
在线清理,对待这种进程不停对文件写日志的操作,要释放文件占用的磁盘空间,最好的方法是在线清空这个文件
# 通过这种方法,磁盘空间不但可以马上释放,也可保障进程继续向文件写入日志。 # 在线清空文件(比如/var/log/jenkins/jenkins.log)的方式: # echo " " > /var/log/jenkins/jenkins.log # cat /dev/null > /var/log/jenkins/jenkins.log >/var/log/jenkins/jenkins.log
方式3:建议使用
#在删除日志文件时如果没有先清空文件,直接delete掉,会导致无法释放磁盘占用。 #使用如下命令能发现这样的文件: find /proc/*/fd -ls 2>/dev/null|awk '/(delete)/{print $(NF-1)}' #解决办法: truncate 他的link文件 find /proc/*/fd -ls 2>/dev/null|awk '/(delete)/{print $(NF-3)}'|sort|uniq|xargs truncate -s 0