zoukankan      html  css  js  c++  java
  • df和du显示结果不一致原因及解决办法

    问题现象

    1. df显示某一分区空间使用率大于du统计该分区的使用率
    2. df显示某一分区空间使用率小于du统计该分区的使用率

    原因及解决办法

    1. df > du
      1. 删除的文件仍在被某一进程占用导致
        ]# lsof -n|grep deleted #查看有哪些文件被删除仍在被进程使用,删除该进程pid或者重启该服
        
      2. 本地服务器存储被作为中转,这种情况明显特点是df显示的结果在比较短的时间内忽高忽低
    2. du < df
      1. 这种情况比较少见,不过我遇到了。没啥说的,直接跟业务商量是否可以删除文件释放空间,最后清理了10T

    df和du工作原理

    df工作原理

    1. 读取每个分区的superblock来获取空闲数据块、已使用数据块,从而计算出空闲空间和已使用空间
    2. 速度快
    3. 会统计已删除但仍有进程引用的文件

    du工作原理

    1. 通过stat统计每个文件的空间占用总和
    2. 速度慢
    3. 如果该目录下有挂载其它文件系统,也会进行统计
    4. 对于已删除,但仍有进程占用的文件,不会进行统计
  • 相关阅读:
    9.3 simulated match
    网络流模版大全
    Treblecross
    ENimEN
    求逆序对的两种方法(树状数组/归并排序)
    树状数组
    计算最短路和次短路条数
    Python3.7版库的安装以及常用方法(十分简单)
    二维线段树(hdu1823)
    流星雨(记忆化搜索)
  • 原文地址:https://www.cnblogs.com/wanwz/p/12825779.html
Copyright © 2011-2022 走看看