文件已经删除但磁盘空间未释放

3 篇文章 0 订阅

1、背景

系统提示磁盘使用率已经达到85%。排查系统日志查看是否有大文件,将系统日志清理后,发现磁盘使用率恢复到了80%以下,但是磁盘使用率相较其他服务器依然很高,随着日志文件的写入,磁盘空间使用率不断上涨,用不了多久很快就会又达到告警阈值。而排查系统此时已经没有大文件了。磁盘使用率依然这么高肯定服务器有异常情况,最终发现是日志文件已经删除,但实际进程还在占用文件句柄,文件还是打开的空间没有释放。

2、解决

2.1 重启应用

进程重启后才会释放空间。

2.2 清空文件

首先查询哪些文件已删除但是空间没有释放。

lsof |grep -i delete

java      228 admin    1w   REG             252,26 19932631136     524295 /export/Logs/globle-1.log (deleted)
java      228 admin    2w   REG             252,26 19932631136     524295 /export/Logs/globle-1.log (deleted)

找到打开这个文件的系统fd。

ll /proc/228/fd |grep globle-1.log

l-wx------ 1 admin admin 64 May 21 21:30 1 -> /export/Logs/globle-1.log (deleted)
l-wx------ 1 admin admin 64 May 21 21:30 2 -> /export/Logs/globle-1.log (deleted)

通过fd清空文件,此处的228是进程ID。

echo > /proc/228/fd/1
echo > /proc/228/fd/2

经过以上操作后服务器磁盘空间使用率恢复正常。但是此方式只是清空了文件内容,如果有新的删除操作,会产生新的文件继续占用磁盘空间。解决办法就是重启应用服务。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值