【Linux-运维】已删除文件占用磁盘

今天遇到一个已删除文件占用磁盘的情况,这里记录简单的分析和处理流程

背景:

1、接收到磁盘告警后,用df -h查看,磁盘的使用率是93%。
2、使用du -h --max-depth=1查看高负载磁盘时,各文件占用都不是很高。

问题:

df和du的执行结果不一致,无法定位到大文件路径并清理文件

问题分析:

初步怀疑有进程占用已经被删除的大文件,导致文件无法被释放

具体原因:

Linux下的文件,只有在引用数为0的情况下才会真正被删除掉,之前所占用的空间是不会被释放的。
如果存在文件引用,系统会将该文件标记为已删除,在引用此文件的进程都关闭时(文件引用数为0时),最终删除文件,释放空间资源。

解决方案:

1、【找出被删除的占用文件】lsof -n | grep grep deleted
2、【释放被占用空间】使用kill pidkill -9 pid杀掉进程后,再重启服务

总结:

这里可以看出,df和du的执行结果是有区别的,那这两个命令的执行流程如何?是什么导致输出结果不同,【Linux-运维】df和du的命令区分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值