Linux下删除日志失败,df -h 和 du -sh 显示的数据不一致现象

问题背景:
在机器上的服务日志没有分天,日志堆积,磁盘被写满,当我直接执行rm 命令删除日志时,执行完之后,发现:

采用df -h 显示的磁盘空间还是满的
采用du -sh 显示已经清理完毕,磁盘空间已经释放了

原因:
使用rm命令删除文件时,只有当文件不存在任何link时才会被删除(没有访问它), 当有进程访问这个文件时,就会存在链路,该线程没有被关闭,文件的实际占用空间就不会被释放
du 是根据文件名进行的空间统计,使用rm时该文件对系统来说已经不可见,所以不会统计这个文件, df则是磁盘实际占用的数量

解决:
使用lsof|grep delete命令查看正在进行删除此文件的进程,可以进程发现没有不会结束,这时可以手动kill 进程,可以发现磁盘会慢慢释放掉

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值