df和du命令区别

1、正常情况下,df和du输出结果都会有差距。

du -sh命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的

总块数;

而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。

文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等

。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。

du命令是用户级的程序,它不考虑Meta Data,而df命令则查看文件系统的磁盘分配图并考虑Meta Data

因此正常情况下,df计算的USED空间会比du计算的结果要稍大

2、异常情况下,df计算的USED空间会比du大很多。

这也是之前碰到的问题,df查看结果文件系统100%使用了,而du的结果是还有6GB空闲的,就这么个问题硬件厂商一个SUPPORT居然不知道怎么解释,这也是让我好奇晚上回来查查看究竟的原因,结果GOOGLE一下就有了。

原因在于du是以文件名、目录名为依据计算空间使用的,而df是以硬盘块使用情况来计算空间使用的。

当一个应用程序正在写一个大文件的时候,我们RM或者MV了这个文件(UNIX是允许这么干的,WINDOWS在这一点上傻有傻福),应用程序会占有句柄,并根据句柄所指磁盘位置直接写磁盘,而不会检查该文件是否被删除。

因此就会产生上述的问题。具体到Oracle层面,可能发生这种情况的有:Oracle因为某种原因在生成很大的TRACE文件,可能导致oracle等目录满,如果此时直接RM或MV掉该TRACE文件会发现空间并不会释放,进而可能导致Oracle数据库DOWN机。

解决办法:使用“> tracefile.trc”命令清空掉该文件,如果需要保留TRACE文件便于事后分析问题,可以使用CP先复制该文件到其他地方,然后清空掉原来的文件

时间: 2024-10-12 04:34:07

df和du命令区别的相关文章

Linux下df与du命令输出区别简析

PS:前些时间有童鞋问我,为什么他的服务器里用df和du命令查询的文件大小显示不一样.其实这两个命令查询原理是不一样的,简析如下: 1.正常情况下,df和du输出结果都会有差距 du -sh命令通过将指定文件系统中所有的目录.符号链接和文件使用的块数累加得到该文件系统使用的总块数: 而df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数. 文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点,磁盘分布图,间接块,超级块等.这些数据对大多数用户级的程序来说是不可见的,通常称为Meta

df 和du 命令统计磁盘空间不准确

Linux & Unix 中 df 和 du 命令统计磁盘空间数值不一致 经常会使用 df 和 du 分别查看磁盘空闲空间和占用空间,偶尔会发现 df(空闲空间) 会小于磁盘大小减去 du(占用空间). 两个命令实现目的是一样的,但是实现的过程有着本质的区别.就像两个人是到同一个地方,但走不同的路,所以路程的长短也就不同. df 命令的全称是 Disk Free ,显而易见它是统计磁盘中空闲的空间,也即空闲的磁盘块数.它是通过硬盘分配图进行计算出的. du 命令的全称是 Disk Used ,它

Linux下查看文件和文件夹大小的df和du命令

当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. du可以查看文件及文件夹的大小. 两者配合使用,非常有效.比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结. 下面分别简要介绍 df命令可以显示目前所有文件系统的可用空间及使用情形,请看下列这个例子: 以下是代码片段: [yayug@yayu ~]$ df -h Filesystem        

利用linux的df和du命令查看文件和目录的内存占用

文章目录 当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择. df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力. du可以查看文件及文件夹的大小. 两者配合使用,非常有效.比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结. 做后台开发经常遇到磁盘占满的情况,毕竟不断有日志在生成,不断有文件在备份,如果长时间不管的话,总有一天会占用满. 题主有一天在发布java项目的时候,就发现提示 1 No space

linux系统df和du命令的区别

发现一台用户的电脑,df检查出来的/磁盘空间占用了16G,比用du查看得到的磁盘空间大的多,du查看/下所有程序目录加起来还不到5G.这是什么原因呢? 即便是有隐藏文件,查了也很小啊. 因为df和du的统计机制不一样. du会把指定目录下所有文件.目录.目录下的文件都统计.是建立在文件系统能看到的的确确是有这样一些文件的基础上的.也就是说我们能在文件系统里面看到的文件才会被du统计. df(df命令通过查看文件系统磁盘块分配图得出总块数与剩余块数.): 这要从程序写文件的方式来谈起,一个进程要向

linux中 df 和 du 命令统计磁盘空间数值不一致

经常会使用 df 和 du 分别查看磁盘空闲空间和占用空间,偶尔会发现 df(空闲空间) 会小于磁盘大小减去 du(占用空间).    两个命令实现目的是一样的,但是实现的过程有着本质的区别.就像两个人是到同一个地方,但走不同的路,所以路程的长短也就不同.    df 命令的全称是 Disk Free ,显而易见它是统计磁盘中空闲的空间,也即空闲的磁盘块数.它是通过硬盘分配图进行计算出的.    du 命令的全称是 Disk Used ,它是统计磁盘有已经使用的空间.它是直接统计各各目录的大小,

shell学习四十六天----文件系统的空间信息df和du命令

文件系统的空间信息 df命令 df命令提供单行摘要,一行显示一个加载的问价系统的已使用的和可用的空间.其单位视系统而定,有些使用块,有些则是KB.大部分现代实现都支持-k选项,也就是强制使用KB单位,以及-l(小写字母L)选项,仅显示本地文件系统,排除网络加载的文件系统. df命令详解 语法: df [选项] [文件或目录] 用途: 显示一个或多个文件系统内部的inode或空间使用情况 主要选项: -i 显示inode技术,而非空间 -k 显示空间时,以KB为单位,而非块 -l 小写L,仅显示本

3周第4次课 df、du命令 fdisk磁盘分区

一.df命令 作用:查看文件系统磁盘空间使用情况.可以不加任何参数,默认按 k 为单位显示 . [[email protected] ~]# df     (不带任何参数显示的单位为 KB) 文件系统中包含tmpfs 表示是临时文件系统,系统重启时,其挂载点的数据会清空.其中挂载点是/dev /shm是内存,大小是物理内存的一半. 关注"已用"超过80%就要特别注意了 swap 大小需要使用"free"命令查看,单位 KB df 常用选项有 -i.-h.-k.-m

DF和DU命令

做为DBA日常巡检工作,是必不可少的,DU和DF命令是常用的,下面简单说说 df命令详细用法 a:显示全部的档案系统和各分割区的磁盘使用情形 i:显示i -nodes的使用量 k:大小用k来表示 (默认值) t:显示某一个档案系统的所有分割区磁盘使用量 x:显示不是某一个档案系统的所有分割区磁盘使用量 T:显示每个分割区所属的档案系统名称 常用命令:df -hi 操作详解 引用 指令 df 可以显示目前所有档案系统的最大可用空间及使用情形,请看下列这个例子: # df -h Filesystem