df 和 du 显示的已用硬盘空间差异巨大!

use*_*887 1 filesystems disk-usage

似乎 du 在计算磁盘使用率时打折 #open 文件,当我看到 df 显示 100% 使用率时,这让我感到震惊,而 du 说只有 40% 正在使用中。

当我查看这个时,我开始意识到有一些打开的文件被占用空间的活动进程使用

sudo /usr/sbin/lsof | grep services
Run Code Online (Sandbox Code Playgroud)

输出:

java 3772 root 44r REG 9,5 76608 11649161 /services/apache-tomcat-6.0.20/lib/jsp-api.jar
java 3772 root 74r REG 9,5 724225 16829492 /services/apache-tomcat-6.0.20/webapps/myapp/WEB-INF/lib/mysql-connector-java-5.1.10-bin.jar
smbd 3794 根内存 REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 3794 根 2w REG 9,5 1096 12320780 /services/samba/logs/smbd.log

此命令显示的打开文件总数(显示的输出中的第 7 列)几乎占分配的 200GB 空间总量的 60% 以上。

令我惊讶的是,我只能将 40% 的分区用于实际存储。真的!这正常吗。

我使用这个分区来托管 mysql 数据库、tomcat 服务器、samba、svn 等。

我在这里有哪些选择?如果这是正常的期望,我如何调整它以便能够将所有 200GB 用于我的数据而不是打开文件!

新增信息

根据您的一些建议,这里是du,df和的输出lsof。我要解决的问题是没有太多打开的文件,这些文件异常地占用了超过 50% 的分配磁盘空间。

  1. 我的 /services 分区最初分配了 184GB 空间(如df命令所示)
  2. 但是我的du命令显示只有 67GB (649GB-582GB) 被占用(不包括 /services/BackupDir 这是外部驱动器)
  3. 而我的lsof显示有 205GB 的打开文件(第 7 列的总数),这是荒谬的,因为 205GB + 67GB 大于 184GB!
#df 显示 /dev/sde 上的硬盘驱动器和外部驱动器
>df -h
已使用的文件系统大小 Avail Use% Mounted on
/dev/md0 43G 21G 21G 50% /
/dev/md1 145M 37M 101M 27% /boot
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/md3 230G 168G 63G 73% /sharefolder1
/dev/md4 230G 51G 179G 23% /sharefolder2
/dev/md5 184G 183G 1.4G 100% /services
/dev/md6 138G 33G 106G 24% /home
/dev/md7 94G 3.5G 90G 4% /用户
/dev/md8 230G 196G 23G 90% /sharefolder3
/dev/md9 230G 102G 116G 47% /sharefolder4
/dev/md10 459G 367G 69G 85% /sharefolder5
/dev/sde1 459G 141G 318G 31% /services/BackupDir/ext1
/dev/sde2 230G 85G 145G 37% /services/BackupDir/ext2
/dev/sde3 230G 102G 128G 45% /services/BackupDir/ext3
/dev/sde5 230G 47G 183G 21% /services/BackupDir/ext4
/dev/sde6 230G 172G 58G 75% /services/BackupDir/ext5
/dev/sde7 230G 38G 192G 17% /services/BackupDir/ext6
/dev/sde8 230G 188M 230G 1% /services/BackupDir/ext7

#du 仅显示硬盘驱动器上的 /services 分区,子文件夹 BackupDir 是安装的外部硬盘驱动器
>sudo du --max-depth=1 -h /services
1.2G/服务/svn
331M /services/httpd
582G /services/BackupDir
16K /服务/丢失+找到
600M /services/netbeans-6.8
55G /services/apache-tomcat-6.0.20
9.3G /services/apache-tomcat-5.5.25
365M /服务/mysql
3.7M /services/samba
649G/服务

/services 上的 #lsof 命令 
> 须藤/usr/sbin/lsof | 服务
mysqld 3632 mysql cwd DIR 9,5 4096 15220739 /services/mysql/lib
mysqld 3632 mysql 1u REG 9,5 51725 15220742 /services/mysql/log/mysqld.log
mysqld 3632 mysql 2u REG 9,5 51725 15220742 /services/mysql/log/mysqld.log
mysqld 3632 mysql 3uW REG 9,5 161480704 15220797 /services/mysql/lib/ibdata1
mysqld 3632 mysql 8uW REG 9,5 5242880 15220798 /services/mysql/lib/ib_logfile0
mysqld 3632 mysql 9uW REG 9,5 5242880 15220799 /services/mysql/lib/ib_logfile1
mysqld 3632 mysql 13u REG 9,5 1024 15220750 /services/mysql/lib/mysql/host.MYI
mysqld 3632 mysql 14u REG 9,5 0 15220751 /services/mysql/lib/mysql/host.MYD
mysqld 3632 mysql 15u REG 9,5 2048 15220753 /services/mysql/lib/mysql/user.MYI
mysqld 3632 mysql 16u REG 9,5 2032 15220754 /services/mysql/lib/mysql/user.MYD
mysqld 3632 mysql 17u REG 9,5 4096 15220747 /services/mysql/lib/mysql/db.MYI
mysqld 3632 mysql 18u REG 9,5 17520 15220748 /services/mysql/lib/mysql/db.MYD
mysqld 3632 mysql 19u REG 9,5 5120 15220759 /services/mysql/lib/mysql/tables_priv.MYI
mysqld 3632 mysql 20u REG 9,5 3404 15220760 /services/mysql/lib/mysql/tables_priv.MYD
mysqld 3632 mysql 21u REG 9,5 1024 15220762 /services/mysql/lib/mysql/columns_priv.MYI
mysqld 3632 mysql 22u REG 9,5 0 15220763 /services/mysql/lib/mysql/columns_priv.MYD
mysqld 3632 mysql 23u REG 9,5 1024 15220795 /services/mysql/lib/mysql/procs_priv.MYI
mysqld 3632 mysql 24u REG 9,5 0 15220796 /services/mysql/lib/mysql/procs_priv.MYD
mysqld 3632 mysql 26u REG 9,5 3072 15220792 /services/mysql/lib/mysql/proc.MYI
mysqld 3632 mysql 27u REG 9,5 1852 15220793 /services/mysql/lib/mysql/proc.MYD
smbd 3752 根内存 REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 3752 根 2w REG 9,5 1096 12320780 /services/samba/logs/smbd.log
smbd 3752 根 7u REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 3752 根 24w REG 9,5 1096 12320780 /services/samba/logs/smbd.log
nmbd 3755 根 2w REG 9,5 2028 12320784 /services/samba/logs/nmbd.log
nmbd 3755 根 3w REG 9,5 2028 12320784 /services/samba/logs/nmbd.log
java 3772 root mem REG 9,5 17508 11649135 /services/apache-tomcat-6.0.20/bin/bootstrap.jar
java 3772 root mem REG 9,5 9341 11649138 /services/apache-tomcat-6.0.20/bin/commons-daemon.jar
java 3772 root mem REG 9,5 19399 11649146 /services/apache-tomcat-6.0.20/bin/tomcat-juli.jar
java 3772 root mem REG 9,5 795412 11649645 /services/apache-tomcat-6.0.20/lib/poi-scratchpad-3.5-FINAL-20090928.jar
java 3772 root mem REG 9,5 383040 11649637 /services/apache-tomcat-6.0.20/lib/commons-io-1.3.2-javadoc.jar
java 3772 root mem REG 9,5 1516415 11649642 /services/apache-tomcat-6.0.20/lib/poi-3.5-FINAL-20090928.jar
java 3772 root mem REG 9,5 1395266 11649159 /services/apache-tomcat-6.0.20/lib/jasper-jdt.jar
java 3772 root mem REG 9,5 103201 11649158 /services/apache-tomcat-6.0.20/lib/jasper-el.jar
java 3772 root mem REG 9,5 123820 11649154 /services/apache-tomcat-6.0.20/lib/catalina-ha.jar
java 3772 root mem REG 9,5 88209 11649162 /services/apache-tomcat-6.0.20/lib/servlet-api.jar
java 3772 root mem REG 9,5 724225 11650061 /services/apache-tomcat-6.0.20/lib/mysql-connector-java-5.1.10-bin.jar
java 3772 root mem REG 9,5 1146570 11649156 /services/apache-tomcat-6.0.20/lib/catalina.jar
java 3772 root mem REG 9,5 163177 11649641 /services/apache-tomcat-6.0.20/lib/commons-io-1.4-sources.jar
java 3772 root mem REG 9,5 109043 11649639 /services/apache-tomcat-6.0.20/lib/commons-io-1.4.jar
java 3772 root mem REG 9,5 197445 11649164 /services/apache-tomcat-6.0.20/lib/tomcat-dbcp.jar
java 3772 root mem REG 9,5 69040 11649643 /services/apache-tomcat-6.0.20/lib/poi-contrib-3.5-FINAL-20090928.jar
java 3772 root mem REG 9,5 27814 11649157 /services/apache-tomcat-6.0.20/lib/el-api.jar
java 3772 root mem REG 9,5 391250 11649644 /services/apache-tomcat-6.0.20/lib/poi-ooxml-3.5-FINAL-20090928.jar
java 3772 root mem REG 9,5 230149 11649155 /services/apache-tomcat-6.0.20/lib/catalina-tribes.jar
java 3772 root mem REG 9,5 275779 11649634 /services/apache-tomcat-6.0.20/lib/commons-fileupload-1.2.1-javadoc.jar
java 3772 root mem REG 9,5 513722 11649160 /services/apache-tomcat-6.0.20/lib/jasper.jar
java 3772 root mem REG 9,5 87776 11649636 /services/apache-tomcat-6.0.20/lib/commons-io-1.3.2.jar
java 3772 root mem REG 9,5 135544 11649638 /services/apache-tomcat-6.0.20/lib/commons-io-1.3.2-sources.jar
java 3772 root mem REG 9,5 66144 11649165 /services/apache-tomcat-6.0.20/lib/tomcat-i18n-es.jar
java 3772 root mem REG 9,5 499643 11649640 /services/apache-tomcat-6.0.20/lib/commons-io-1.4-javadoc.jar
java 3772 root mem REG 9,5 49147 11649153 /services/apache-tomcat-6.0.20/lib/catalina-ant.jar
java 3772 root mem REG 9,5 43742 11649166 /services/apache-tomcat-6.0.20/lib/tomcat-i18n-fr.jar
java 3772 root mem REG 9,5 57779 11649632 /services/apache-tomcat-6.0.20/lib/commons-fileupload-1.2.1.jar
java 3772 root mem REG 9,5 10807 11649152 /services/apache-tomcat-6.0.20/lib/annotations-api.jar
java 3772 root mem REG 9,5 750470 11649163 /services/apache-tomcat-6.0.20/lib/tomcat-coyote.jar
java 3772 root mem REG 9,5 73721 11649635 /services/apache-tomcat-6.0.20/lib/commons-fileupload-1.2.1-sources.jar
java 3772 root mem REG 9,5 49021 11649167 /services/apache-tomcat-6.0.20/lib/tomcat-i18n-ja.jar
java 3772 root mem REG 9,5 76608 11649161 /services/apache-tomcat-6.0.20/lib/jsp-api.jar
java 3772 root mem REG 9,5 724225 16829492 /services/apache-tomcat-6.0.20/webapps/myapp/WEB-INF/lib/mysql-connector-java-5.1.10-bin.jar
java 3772 root 1w REG 9,5 79186 9404433 /services/apache-tomcat-6.0.20/logs/catalina.out
java 3772 root 2w REG 9,5 79186 9404433 /services/apache-tomcat-6.0.20/logs/catalina.out
java 3772 root 5r REG 9,5 17508 11649135 /services/apache-tomcat-6.0.20/bin/bootstrap.jar
java 3772 root 9r REG 9,5 9341 11649138 /services/apache-tomcat-6.0.20/bin/commons-daemon.jar
java 3772 root 10r REG 9,5 19399 11649146 /services/apache-tomcat-6.0.20/bin/tomcat-juli.jar
java 3772 root 11w REG 9,5 32125 9404434 /services/apache-tomcat-6.0.20/logs/catalina.2013-09-18.log
java 3772 root 12w REG 9,5 24718 9404435 /services/apache-tomcat-6.0.20/logs/localhost.2013-09-18.log
java 3772 root 13w REG 9,5 5336 9404436 /services/apache-tomcat-6.0.20/logs/manager.2013-09-18.log
java 3772 root 14w REG 9,5 0 9404437 /services/apache-tomcat-6.0.20/logs/host-manager.2013-09-18.log
java 3772 root 15r REG 9,5 795412 11649645 /services/apache-tomcat-6.0.20/lib/poi-scratchpad-3.5-FINAL-20090928.jar
java 3772 root 16r REG 9,5 383040 11649637 /services/apache-tomcat-6.0.20/lib/commons-io-1.3.2-javadoc.jar
java 3772 root 17r REG 9,5 1516415 11649642 /services/apache-tomcat-6.0.20/lib/poi-3.5-FINAL-20090928.jar
java 3772 root 18r REG 9,5 1395266 11649159 /services/apache-tomcat-6.0.20/lib/jasper-jdt.jar
java 3772 root 19r REG 9,5 103201 11649158 /services/apache-tomcat-6.0.20/lib/jasper-el.jar
java 3772 root 20r REG 9,5 123820 11649154 /services/apache-tomcat-6.0.20/lib/catalina-ha.jar
java 3772 root 21r REG 9,5 88209 11649162 /services/apache-tomcat-6.0.20/lib/servlet-api.jar
java 3772 root 22r REG 9,5 724225 11650061 /services/apache-tomcat-6.0.20/lib/mysql-connector-java-5.1.10-bin.jar
java 3772 root 23r REG 9,5 1146570 11649156 /services/apache-tomcat-6.0.20/lib/catalina.jar
java 3772 root 24r REG 9,5 163177 11649641 /services/apache-tomcat-6.0.20/lib/commons-io-1.4-sources.jar
java 3772 root 25r REG 9,5 109043 11649639 /services/apache-tomcat-6.0.20/lib/commons-io-1.4.jar
java 3772 root 26r REG 9,5 197445 11649164 /services/apache-tomcat-6.0.20/lib/tomcat-dbcp.jar
java 3772 root 27r REG 9,5 69040 11649643 /services/apache-tomcat-6.0.20/lib/poi-contrib-3.5-FINAL-20090928.jar
java 3772 root 28r REG 9,5 27814 11649157 /services/apache-tomcat-6.0.20/lib/el-api.jar
java 3772 root 29r REG 9,5 391250 11649644 /services/apache-tomcat-6.0.20/lib/poi-ooxml-3.5-FINAL-20090928.jar
java 3772 root 30r REG 9,5 230149 11649155 /services/apache-tomcat-6.0.20/lib/catalina-tribes.jar
java 3772 root 31r REG 9,5 275779 11649634 /services/apache-tomcat-6.0.20/lib/commons-fileupload-1.2.1-javadoc.jar
java 3772 root 32r REG 9,5 513722 11649160 /services/apache-tomcat-6.0.20/lib/jasper.jar
java 3772 root 33r REG 9,5 87776 11649636 /services/apache-tomcat-6.0.20/lib/commons-io-1.3.2.jar
java 3772 root 34r REG 9,5 135544 11649638 /services/apache-tomcat-6.0.20/lib/commons-io-1.3.2-sources.jar
java 3772 root 35r REG 9,5 66144 11649165 /services/apache-tomcat-6.0.20/lib/tomcat-i18n-es.jar
java 3772 root 36r REG 9,5 499643 11649640 /services/apache-tomcat-6.0.20/lib/commons-io-1.4-javadoc.jar
java 3772 root 37r REG 9,5 49147 11649153 /services/apache-tomcat-6.0.20/lib/catalina-ant.jar
java 3772 root 38r REG 9,5 43742 11649166 /services/apache-tomcat-6.0.20/lib/tomcat-i18n-fr.jar
java 3772 root 39r REG 9,5 57779 11649632 /services/apache-tomcat-6.0.20/lib/commons-fileupload-1.2.1.jar
java 3772 root 40r REG 9,5 10807 11649152 /services/apache-tomcat-6.0.20/lib/annotations-api.jar
java 3772 root 41r REG 9,5 750470 11649163 /services/apache-tomcat-6.0.20/lib/tomcat-coyote.jar
java 3772 root 42r REG 9,5 73721 11649635 /services/apache-tomcat-6.0.20/lib/commons-fileupload-1.2.1-sources.jar
java 3772 root 43r REG 9,5 49021 11649167 /services/apache-tomcat-6.0.20/lib/tomcat-i18n-ja.jar
java 3772 root 44r REG 9,5 76608 11649161 /services/apache-tomcat-6.0.20/lib/jsp-api.jar
java 3772 root 74r REG 9,5 724225 16829492 /services/apache-tomcat-6.0.20/webapps/myapp/WEB-INF/lib/mysql-connector-java-5.1.10-bin.jar
smbd 3794 根内存 REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 3794 根 2w REG 9,5 1096 12320780 /services/samba/logs/smbd.log
smbd 3794 根 5w REG 9,5 1096 12320780 /services/samba/logs/smbd.log
smbd 3794 根 7u REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
bash 10449 user1 cwd DIR 9,5 4096 14516225 /services/BackupDir
smbd 10647 root mem REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 10647 root 2w REG 9,5 50351 12320785 /services/samba/logs/sridevi-pc.log
smbd 10647 root 7u REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 10647 root 27w REG 9,5 50351 12320785 /services/samba/logs/sridevi-pc.log
rsync 11030 user1 3r REG 9,10 21418176 23955858 /internalfile500GB/BackupDir/fileserver_services_bkup/internalfile-root-bkup/services/services/BackupDir/internalfile_repository_bkupory/Captureser/Internalfile_repository_bkuption/Capturesre 25-2011 4.55.33 PM.xesc
smbd 11267 root mem REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 11267 root 2w REG 9,5 6298 12321110 /services/samba/logs/drwindows8.log
smbd 11267 root 7u REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 11267 根 28w REG 9,5 6298 12321110 /services/samba/logs/drwindows8.log
smbd 11334 root mem REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 11334 根 2w REG 9,5 5918 12321012 /services/samba/logs/nmo-dataprocess.log
smbd 11334 root 7u REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 11334 根 32w REG 9,5 5918 12321012 /services/samba/logs/nmo-dataprocess.log
smbd 11489 root mem REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 11489 根 2w REG 9,5 3484 12320915 /services/samba/logs/hippocampus-pc.log
smbd 11489 根 7u REG 9,5 8192 12320776 /services/samba/etc/secrets.tdb
smbd 11489 根 28w REG 9,5 3484 12320915 /services/samba/logs/hippocampus-pc.log
sudo 11525 root cwd DIR 9,5 4096 14516225 /services/BackupDir
grep 11526 user1 cwd DIR 9,5 4096 14516225 /services/BackupDir
lsof 11527 root cwd DIR 9,5 4096 14516225 /services/BackupDir
lsof 11528 root cwd DIR 9,5 4096 14516225 /services/BackupDir

#列#7中删除文件的大小为0字节!
> 须藤/usr/sbin/lsof | 删除了grep
mysqld 3632 mysql 4u REG 9,0 0 7070979 /tmp/ibjpoC3F(已删除)
mysqld 3632 mysql 5u REG 9,0 0 7070980 /tmp/ibTKRzCQ(已删除)
mysqld 3632 mysql 6u REG 9,0 0 7070981 /tmp/ibvuExb1(已删除)
mysqld 3632 mysql 7u REG 9,0 0 7070983 /tmp/ibYLMOLb(已删除)
mysqld 3632 mysql 11u REG 9,0 0 7070984 /tmp/ibQfuW1m(已删除)
gpm 3690 根 0u CHR 136,0 0t0 2 /dev/pts/0(已删除)
gpm 3690 根 1u CHR 136,0 0t0 2 /dev/pts/0(已删除)
gpm 3690 根 2u CHR 136,0 0t0 2 /dev/pts/0(已删除)

Joh*_*ohn 5

du和之间存在这种差异df并不少见,但以我的经验而言,存在如此大的差异是非常不寻常的。根据我的经验,当应用程序文件(通常是日志文件)通过 删除rm但仍在应用程序中打开时,会发生这种类型的差异,因此文件句柄保持打开状态,内核不允许删除实际数据,但目录中的 inode 条目已被删除。因此,df显示空间仍然被占用,但du查看目录中文件的枚举,没有看到该文件并显示该空间可用。我能给你的最好的建议是使用应用程序来尝试减少它们保持打开的文件句柄的数量。


Gil*_*il' 5

您似乎误读了多次运行的命令的输出。

此命令显示的打开文件总数(显示的输出中的第 7 列)几乎占分配的 200GB 空间总量的 60% 以上。

我不知道你从哪里得到这个数字。您显示的行的总数约为 800kB,约为 200GB 的 0.0004%。

如果您添加的行比此处显示的多,请记住:

  • 如果一个文件被多个进程打开,或者甚至是由同一个进程在多个描述符上打开(它发生了),你已经计算了多次。
  • 其中一些文件位于不同的文件系统上。

如果这是正常的期望,我如何调整它以便能够将所有 200GB 用于我的数据而不是打开文件!

没有什么可以调整的。您可以使用所有空间。您只是对运行以测量磁盘使用情况的命令的输出进行了奇怪的解释。

sudo du --max-depth=1 -h /services
Run Code Online (Sandbox Code Playgroud)

下有挂载点/services,因此它总结了不在/services文件系统上但在/services/BackupDir/ext1其同级上的文件的大小。

此命令的输出没有提供很多关于 上磁盘使用情况的有用信息/services。将选项-x传递du给告诉它不要下降到挂载点。

sudo du -x -h /services
Run Code Online (Sandbox Code Playgroud)

如果命令报告的大小小于报告的“已占用”大小df /services,可能有两种原因:

  • 您有一些已删除但仍处于打开状态的文件。这些文件仍然占用空间,但它们没有名称,因此du不会找到它们。它们会出现在lsof. 运行lsof +F1 /services以查看已删除但打开的文件列表/services
  • 有背后隐藏着一些下的挂载点的文件/services。也许您的应用程序之一在这些文件系统未按预期安装时运行,因此在父文件系统上写入文件。当文件系统安装在目录上时,这会隐藏该目录中的文件,但当然文件仍然存在。运行以下命令以创建一个/services没有较低挂载点的替代视图并探索它。

    mkdir /root/services-view
    mount --bind /services /root/services-view
    du /root/services-view/BackupDir/ext?
    
    Run Code Online (Sandbox Code Playgroud)