Linux df和du命令查出来的已使用空间不同怎么办

  有用户登录到Linux系统服务器上查看的时候,竟然发现df和du查出来的结果不一样,du查出来的“实际使用空间”明显比df查出来的已使用空间要小很多,这是究竟是怎么一回事呢?难道有些空间被隐藏起来了?下面来说一下df和du命令查出来的已使用空间不同的解决方法。

    方法如下:

  首先,我们用df来查看已使用空间:


  从上图可知,根分区已使用5456700KB(合约5.20GB)。

  然后,我们用du查出根分区下每个目录的大小:


  排除红框中的两个目录(因为他们是挂载上去的),所有目录的总大小为3075332KB(合约2.93GB),比df查出来足足小了2.27GB。

    为什么会少了这么多空间呢?

  其实是因为我们之前删除了一些进程正在写入的文件,虽然已经被我们删除了,但只要进程还在,那个文件就不会被真正地删除,只是被临时存放到系统的某个地方而已,有点类似于Windows的回收站。

  想解决这个问题,最简单地就是重启服务器了,但是生产环境一般都不会轻易重启的,所以我们可以通过其他方式来解决。

  先用lsof命令配合grep命令查出哪些是已经被删除,却依旧占用系统空间的“无赖”。


  上图红框中的文件正是我之前删除的一个大文件,我现在尝试去重启这个程序(node),我直接kill掉这个进程,因为我做了自动启动,所以我不用手动去启动它。


  已使用空间一下子下降到3226324KB(合约3.08GB),已经很接近du统计的总空间了。

  接下来,我逐个重启了其他deleted的文件,最终df查出来的大小就和du统计的总空间差不多大了。

  到此,就解决了df和du查出来的结果不同的文件,赶走了系统里的“无赖”,索回属于我们的空间。

  df和du命令查出来的已使用空间不同的解决方法就说到这里了,如你们也有此问题的可以按照上述的步骤去操作,从而解决问题。

时间: 2016-06-06

Linux df和du命令查出来的已使用空间不同怎么办的相关文章

linux下使用du命令查找最大的文件的命令

  找出在一个path下的最大文件,可以使用du命令: du -sh[dirname|filename] 当前目录大小 du -sh. 当前目录下文件或目录的大小 du -sh* 显示前十个占用空间最大的文件或目录 du -s * | sort -nr | head 说明: -h已易读的格式显示指定目录或文件的大小 -s选项指定对于目录不详细显示每个子目录或文件的大小

Linux的文件系统以及df和du命令

Ext2文件系统 Linux的正规文件系统为Ext2(Linux second extended file system),它主要由以下三个部分组成 : 1)super block:记录此文件系统的整体信息,包括inode/block的总量.使用量.剩余量,以及文件 系统的格式与相关信息等. 2)inode:记录文件的属性和权限(元数据metadata),一个文件占用一个inode,同时记录文件数据 所在的block号 3)block:存放实际数据的地方 由于Ext2是索引式文件系统,基本上不太

df 和 du 命令详解

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

Linux下查看文件或文件夹大小的命令df 、du、ls

转自:http://www.cnblogs.com/benio/archive/2010/10/13/1849946.html 当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择.     df可以查看一级文件夹大小.使用比例.档案系统及其挂入点,但对文件却无能为力.    du可以查看文件及文件夹的大小.     两者配合使用,非常有效.比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结.     下面分别简要介绍     df命令

Linux du命令查看文件夹大小并按降序排列_linux shell

1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du -s /usr/* | sort -rn | head 5.选出排在后面的10个 du -s /usr/* | sort -rn | tail du -h –-max-depth=0 user du -sh –-max-depth=2 | more 总结du常用命令 du -h --max-dept

linux下使用 du查看某个文件或目录占用磁盘空间的大小

du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度. du命令用来查看目录或文件所占用磁盘空间的大小.常用选项组合为:du -sh 一.du的功能:`du` reports the amount of disk space used by the specified files and for each subdirectory (of directory arguments)

LInux : du命令

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all  显示目录中个别文件的大小.   -b或-bytes  显示目录或文件大小时,以byte为单位.   -c或--total  除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和. -k或--kilobytes  以K

linux基础命令(34) du命令

Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du 命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2 .命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all  显示目录中个别文 件的大小. -b或-bytes  显示目录或文件大小时,以byte为单位. -c或--total   除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和. -k或--kilobytes  以K

每天一个linux命令(34):du 命令

 转载自:http://www.cnblogs.com/peida/archive/2012/12/10/2810755.html 每天一个linux命令(34):du 命令 Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间. 3.命令参数: -a或-all  显示目录中个别文件的大小.    -b或-byte