Linux运维过程中,常常发现du和df返回值不一样,偶尔会发现区别非常大。

特定情况下,可能df看到磁盘已满,可是du推断磁盘剩余空间非常大。

文件系统分配当中的一些磁盘块用来记录它自身的一些数据。如i节点。磁盘分布图,间接块。超级块等。这些数据对大多数用户级的程序来说是不可见的。通常称为Meta Data。

df:命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。反应系统磁盘实际用量。

du:用户态程序。

不考虑MetaData,仅仅统计文件系统的部分情况。

所以 df >= du

假设df和du的值相差特别大。说明可能有程序将文件输出指定到了已删除的文件。

比如:程序执行过程中,删除log文件。则程序会持续向原log所指向的fileHandler继续输出,而不会终止。即使新建重名文件。仍然会按原fileHandler写入到原文件。在df看来。磁盘增长依旧存在。但du看来。文件已经被删除。长期执行之后,则会发生df看到磁盘占用率远高于du。

此时,能够终止该进程。则已删除的文件fileHandler会被回收。文件被删除。

假设不知道进程ID,能够用lsof查询

# lsof | grep delete

原文链接:Linux中du和df - 零度空间

Linux中du和df的更多相关文章

  1. Linux中du、df显示不一致问题

    Linux中du.df显示不一致问题 最近在做关于Q博士的项目的时候,用到了docker进行部署,对于后端服务可能会经常变动,于是将docker容器的jar包与宿主机目录下的jar包进行绑定,之后每次 ...

  2. linux中du与df的区别和联系

    1,两者区别 du,disk usage,是通过搜索文件来计算每个文件的大小然后累加,du能看到的文件只是一些当前存在 的,没有被删除的.他计算的大小就是当前他认为存在的所有文件大小的累加和. df, ...

  3. 简单了解Linux中 du 和 df 以及它们的区别

    一 .du : 显示每个文件和目录的磁盘使用空间~~~文件的大小. 命令参数: -a   #显示目录中文件的大小  单位 KB . -b  #显示目录中文件的大小,以字节byte为单位. -c  #显 ...

  4. Linux,du、df统计的硬盘使用情况不一致问题

    [转]http://blog.linezing.com/?p=2136 Linux,du.df统计的硬盘使用情况不一致问题   在运维Linux服务器时,会碰到需要查看硬盘空间的情况,这时候,通常会使 ...

  5. LINUX 笔记-DU 和 DF

    du(disk usage)搜索文件统计文件大小 1.显示指定文件所占空间 du file1 file2 2.显示指定目录占的空间 du dir 3.只显示总和大小 du -s 4.以方便格式显示 d ...

  6. Linux中 du (详解)、 df (详解)和 free(详解)以及它们的区别

    转至:https://blog.csdn.net/qq_19167629/article/details/80915834?utm_medium=distribute.pc_relevant_t0.n ...

  7. [转]linux的du和df命令

    转自:http://blog.csdn.net/kmesg/article/details/6570800 今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一 ...

  8. linux的du和df命令

    今天也有同学问我Linux下查看目录大小的命令,现在也将前阵子学习到du/df两个命令总结一下吧.前阵子测试工作中有遇到过由于磁盘空间满导致程序无法执行到情况,所以使用了df和du两个命令. du查看 ...

  9. Linux,du、df统计磁盘情况不一致

    转载:http://blog.linezing.com/?p=2136 在运维Linux服务器时,会碰到需要查看硬盘空间的情况,这时候,通常会使用df -lh命令来检查每个挂载了文件系统的硬盘的总量和 ...

随机推荐

  1. ThinkPHP3.2 杂记

    如果父类有_initialize()方法,子类用任何方法前都会调用父类的 _initialize方法,避免这种现象可以在子类中声明_initialize()方法,可以控制是否调用父类的_initial ...

  2. JSON的使用_检查JSON工具

    json简单说就是javascript中的对象和数组. 1.对象:对象在js中表示为"{}"扩起来的内容,数据结构为 {key:value,key:value,...}的键值对的结 ...

  3. ACM程序设计选修课——1024: 末位零(求末尾0的方法+可有可无的快速幂)

    1024: 末位零 Time Limit: 1 Sec  Memory Limit: 32 MB Submit: 60  Solved: 11 [Submit][Status][Web Board] ...

  4. [LOJ#525]「LibreOJ β Round #4」多项式

    [LOJ#525]「LibreOJ β Round #4」多项式 试题描述 给定一个正整数 k,你需要寻找一个系数均为 0 到 k−1 之间的非零多项式 f(x),满足对于任意整数 x 均有 f(x) ...

  5. BZOJ 4553 [Tjoi2016&Heoi2016]序列 ——CDQ分治 树状数组

    考虑答案的构成,发现是一个有限制条件的偏序问题. 然后三个维度的DP,可以排序.CDQ.树状数组各解决一维. #include <map> #include <cmath> # ...

  6. python基于SQLAlchemy的DBtools

    新版,只创建一次线程池 # -*- coding: utf-8 -*- from sqlalchemy import create_engine from sqlalchemy.orm import ...

  7. django 报错 no such table: auth_user

    需要执行 python3 manage.py makemigrations python3 manage.py migrate 参考:http://arrayoverflow.com/question ...

  8. usb_control_msg参数详解【转】

    转自:http://blog.chinaunix.net/uid-25909619-id-3243059.html usb_control_msg() struct usb_ctrlrequest|- ...

  9. iOS8下定位问题解决

    项目是以前iOS7的,升级iOS8后,无法成功获取用户位置.后来才发现iOS8 使用定位需要在infoplist文件中加2个key,然后manager需要加一个方法,指定定位授权机制   在plist ...

  10. 数据结构自己实现——queue

    SeqQueue.h #define QueueSize 100 typedef char DataType; class SeqQueue { public: DataType data[Queue ...