Linux磁盘空间 /home 100% 故障排查

/home      20G  20G  0G  100% /

原因分析:

#出现这种情况一般分为两种

1、系统、软件运行产生的日志、数据库临时备份文件等空间占用

#查看哪儿个目录占用较高(可以查到占用目录)停止运行的软件删除日志,重启软件

du -h -x --max-depth=1  /home   

2、/home  或 / 目录 100%

#查看哪儿个目录占用较高(无法查到占用目录)
du -h -x --max-depth=1  /home   

#查看已经删除目录的进程,这种情况一般是相关目录还有进程在写入数据,同时我们进行了删除相关的操作,导致进程后台对相关目录锁定,磁盘空间未释放

lsof -M|grep deleted 

kill -9  19462 #(锁定空间进程)

#当前进程中kill掉所有符合条件的进程

lsof -M|grep deleted |grep -v grep|cut -c 9-15|xargs kill -9

若杀死该进程后使用   lsof -M|grep deleted #查看这些进程  发现进程改变了进程号继续锁定空间,请检查是否有多个软件同时使用一个日志目录。强制kill -9  软件或关闭所有软件再进行杀死该进程

总结:在apache、tomcat、nginx运行过程中产生大量的日志,当我们的开发人员清除这些日志时一个或多个apache、tomcat、nginx还在运行,继续在删除文件内写入日志。我们通过rm -rf  命令删除了access.log后,apache依然写日志到access.log中,当开启apache进程时,已经通过access.log定位到该文件的inode了,就是说再写日志是不通过access.log,因此即使删除了access.log,apache依然写日志到access.log所在的inode节点,所以导致硬盘空间增加。这样就造成了进程锁死磁盘空间造成删除文件无法释放空间

清理生产环境中间件日志建议使用:

#输入空到相关文件,可以是绝对路径下的文件如 /home/work/tomcat/log/access.log
echo “ ” >  access.log

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值