• du和df显示磁盘空间使用差异大的几种情况


            接触客户多了,发现经常有客户遇到du看到系统只使用了一部分磁盘空间,但df看时磁盘空间已经满了,或者差异较大,我遇到过三次不一样的原因,下面做一下总结,恶补一下!也希望对大家有点帮助!

    现象:有客户反馈有二台主机du和df看到磁盘空间使用不一致

            

    原因:客户在挂载数据盘到/data目录之前,曾挂载过系统盘到/data测试并把系统盘空间写满

    解决:发现重复挂载之后,先卸载数据盘,现在只有系统盘挂载到/data目录,然后删除/data下内容,重新挂载数据盘到/data目录即可

    总结:

    1.du是根据看到文件的大小来统计磁盘空间的使用情况,即所见即所得,du -sh /  或者 du -sh /*

        df是根据元数据获取的,就是读取分区的超级块信息来统计分区的的使用情况的(比du看到的记过更准确), df -hT

    2.du和df不一致的几种情况分析

       1)可能由于删除了正在使用中的文件,导致文件被删除,但进程和超级块信息并没有释放。

             解决:lsof |grep -i delete 过滤下是否有相关进程未释放,kill掉相关进程即可。

                       删除这种正在写入的文件(一般都是日志类的),最好用“echo > 文件名“的方式来清零文件。

       2)可能某些目录被其他磁盘重复挂载导致。

            解决:1)可以先用df -hT 看下相关挂载目录。2)用mount |grep 目录  过滤一下是否有重复挂载,也可以mount -o remount 一下fstab文件。

       3)可能预留空间较多导致,df统计的时候会把系统预留的空间也给 算上是使用的了。

            查看:tune2fs -l 设备名 查看系统的超级块信息,看看预留多少空间。也可以用tune2fs命令更改。

       4)也有可能是空洞文件导致的

  • 相关阅读:
    Java匹马行天下之JavaSE核心技术——工具类
    微信小程序
    在express3里用ejs模版引擎时,如何使其支持'.html'后缀
    node
    webstorm常用快捷键
    Meta标签中的format-detection属性及含义
    使用console进行 性能测试 和 计算代码运行时间
    JS获取浏览器URL中查询字符串的参数
    jspm 简介
    vue2.0 keep-alive最佳实践
  • 原文地址:https://www.cnblogs.com/Tao9/p/7763347.html
Copyright © 2020-2023  润新知