当前位置:首页 > linux系统知识 > 正文内容

du和df查看的数值不一致

我们通过df和du分别查看分区,发现二者的数值有时并不完全一样

首先简单介绍一下二者的概念:

df:disk free,指磁盘空余空间,统计磁盘中的空闲进行计算

du:disk usage,指磁盘空间,将目录中所有的文件叠加计算


两者获取信息的过程是:

du使用fstat系统调用,可以直接获取文件的情况,包括目录,符号链接,文件使用块数等占用情况

du可以跨多分区进行操作,有可能获得的是多个分区的情况

du不会统计被已经删除文件的信息

du不会统计Meta Data的数据


du使用fstat系统调用,可以直接获取文件的情况,包括目录,符号链接,文件使用块数等占用情况

du可以跨多分区进行操作,有可能获得的是多个分区的情况

du不会统计被已经删除文件的信息

du不会统计Meta Data的数据,Meta Data包括i节点,磁盘分布图,间接块,超级块等,这些对用户级的程序是不可见的


例如:通过du和df查看/大小,因为df只统计/分区的信息,而du统计的是包括/下的所有目录的大小,包括其他分区的,如/nginx,/redis,/mysql等

sys2.png



通过df和du查看/test占用大小,发现df的数值要比du高,原因是/test/test.txt文件虽已被删除,但还是被进程占用没有释放,显示为delete状态

sys3.png将进程杀掉,分区占用空间被释放出来

sys4.png


总结起来,就是du是直接查看文件的情况,而df查看的是超级块信息,以及meta data的信息,这两者的数值并不相同

如果处于delete状态的进程占用该分区已删除的文件,那么分区空间不会被释放出来,导致二者的值差异较大


扫描二维码推送至手机访问。

版权声明:本文由个人博客发布,如需转载请注明出处。

本文链接:https://opszzfwordpress.club/post/177.html

分享给朋友:

“du和df查看的数值不一致” 的相关文章

linux数值计算

linux数值计算

使用bc命令,如没有此命令,需要先进行安装命令行输入bc,然后输入运算式计算直接命令行输出如果是整数...

linux磁盘分区、逻辑卷

linux磁盘分区、逻辑卷

1、查看磁盘分区lsblk2、查看分区情况fdisk -lDisk /dev/vda:块设备名称53...

构建linux时间服务器

构建linux时间服务器

1、环境准备服务器ipip功能172.16.0.3ntp服务端172.16.0.2客户端在服务端和客...

云服务器建立swap分区

云服务器建立swap分区

我们购买的大多数云服务器都是没有swap分区的,为了防止内存溢出,影响系统运行,可以创建swap分区...

防止DNS配置文件修改

防止DNS配置文件修改

问题描述:DNS配置文件:/etc/resolv.conf 增加配置了:nameserver 114...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。