排查并解决磁盘满了问题

问题出现背景

  当磁盘上存储大量数据的时候,很容易就会造成磁盘使用率高,影响进程的正常执行

问题解决办法

 1.在可能导致磁盘满的根路径执行du --max-depth=1,查看该目录下各文件(夹)的磁盘占用情况
 2.进入占比高的目录,继续执行du --max-depth=1,依次直到找到造成磁盘满了的原因
 3.既然找到了原因,那么肯定是需要进行处理的,一般我们都会选择一些可以删除的数据进行删除操作。如果是一些无法删除的数据,可以先在hdfs或者其他系统上做一个备份,然后进行删除
 4.删除之后,使用du -sh查看磁盘占用情况。
如果降下来了,再使用df -h进行查看。如果两个命令执行完之后磁盘占用都降下来了,那么就说明问题已解决
 5.如果执行du -sh的时候磁盘使用率低。但是使用df -h的时候,磁盘的使用率高。那就说明是刚刚删除的文件中,有的被进程所引用,虽然文件被删除,但是实际占用的磁盘仍然还是占用。这里可能会疑惑du和df之间的不同表现,可以看下面的知识点部分
 6.当出现第5步的情况的时候,可以考虑一下刚刚删除的文件被哪个进程引用了,可以试着重启服务

涉及知识点

  1. 上面使用到了du 和df的相关命令
  2. du --max-depth=1:输出当前目录下各文件(目录)的大小,仅限于当前目录下,不递归
  3. du -sh:以合适的单位(K,M,G)显示当前目录的总计大小
  4. df -h:以合适的单位(K,M,G)显示当前目录在文件系统中的使用大小
  5. du和df的区别:
    du统计的是指定目录下子目录大小的累计和,可以理解统计的只是当前状态下可以看得到的,那么如果一个文件被删掉了,就不会被统计到
    df是从文件系统的角度进行统计,即统计的是inode的使用率。当删除文件的时候,如果这个文件是被其他进程打开文件句柄的话,那么就表示该inode就是被引用状态。根据系统的引用清除规则,并不会删除对应磁盘数据。所以一个文件句柄引用了被删除的文件,状态会是deleted。使用df进行统计的时候,依然可以看得到
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值