为什么磁盘空间占用这么多? 这没有意义

我运行这个命令:

root@aa:/# du -h --max-depth=1 / du: cannot access `/proc/4002/task/4002/fd/4': No such file or directory du: cannot access `/proc/4002/task/4002/fdinfo/4': No such file or directory du: cannot access `/proc/4002/fd/4': No such file or directory du: cannot access `/proc/4002/fdinfo/4': No such file or directory 0 /proc 44G /home 4.9M /bin 4.0K /selinux 85M /lib 4.0K /srv 496G /var 4.0K /mnt 0 /sys 12K /tmp 4.0K /media 3.0M /etc 5.0M /sbin 448M /usr 4.0K /boot 4.0K /opt 348K /dev 36K /root 540G / 

什么是占用540Gig的空间? 我甚至没有在名单上看到它。 我正在使用Ubuntu的最新版本。

编辑:看来,/ var / log占用了450Gig的空间。

这是在var / log中的ls -l:

 drwxr-xr-x 2 root root 4.0K Dec 4 19:27 apt -rw-r--r-- 1 root root 10K Dec 14 22:16 aptitude -rw-r--r-- 1 root root 610 Dec 4 01:46 aptitude.1.gz -rw-r--r-- 1 root root 914 Aug 24 06:17 aptitude.2.gz -rw-r--r-- 1 root root 439 Aug 14 18:43 aptitude.3.gz -rw-r----- 1 syslog adm 142K Dec 16 20:58 auth.log -rw-r----- 1 syslog adm 1.2M Dec 15 19:25 auth.log.0 -rw-r----- 1 syslog adm 88K Dec 13 19:25 auth.log.1.gz -rw-r----- 1 syslog adm 18K Dec 6 19:28 auth.log.2.gz -rw-r----- 1 syslog adm 86K Dec 4 19:25 auth.log.3.gz -rw-r----- 1 syslog adm 91K Dec 3 19:40 auth.log.4.gz -rw-r----- 1 syslog adm 163K Nov 29 19:28 auth.log.5.gz -rw-r----- 1 syslog adm 91K Nov 25 19:30 auth.log.6.gz -rw-r----- 1 root adm 31 Apr 23 2009 boot -rw-rw---- 1 root utmp 0 Dec 1 19:34 btmp -rw-rw---- 1 root utmp 20 Nov 1 19:25 btmp.1.gz -rw-r----- 1 syslog adm 794K Dec 16 20:56 daemon.log -rw-r----- 1 syslog adm 903K Dec 13 19:24 daemon.log.0 -rw-r----- 1 syslog adm 85K Dec 10 19:39 daemon.log.1.gz -rw-r----- 1 syslog adm 19K Dec 6 19:24 daemon.log.2.gz -rw-r----- 1 syslog adm 674K Dec 5 19:24 daemon.log.3.gz -rw-r----- 1 syslog adm 57K Nov 29 19:24 daemon.log.4.gz -rw-r----- 1 syslog adm 57K Nov 22 19:24 daemon.log.5.gz -rw-r----- 1 syslog adm 76K Nov 19 19:29 daemon.log.6.gz -rw-r----- 1 syslog adm 11K Dec 16 20:51 debug -rw-r----- 1 syslog adm 1.7K Dec 10 23:05 debug.0 -rw-r----- 1 syslog adm 128 Oct 8 09:13 debug.1.gz -rw-r----- 1 syslog adm 75K Sep 18 07:57 debug.2.gz -rw-r----- 1 syslog adm 15K Sep 13 19:25 debug.3.gz -rw-r----- 1 syslog adm 103K Aug 29 19:30 debug.4.gz -rw-r----- 1 syslog adm 108K Aug 20 19:48 debug.5.gz -rw-r----- 1 root adm 10K Dec 16 20:51 dmesg -rw-r----- 1 root adm 10K Dec 16 20:42 dmesg.0 -rw-r----- 1 root adm 3.8K Dec 16 20:27 dmesg.1.gz -rw-r----- 1 root adm 3.6K Dec 14 22:24 dmesg.2.gz -rw-r----- 1 root adm 3.9K Sep 5 20:41 dmesg.3.gz -rw-r----- 1 root adm 3.7K Sep 5 09:47 dmesg.4.gz -rw-r----- 1 root adm 18K Dec 14 22:17 dpkg.log -rw-r----- 1 root adm 714 Dec 4 01:46 dpkg.log.1 -rw-r----- 1 root adm 2.1K Aug 24 06:17 dpkg.log.2.gz -rw-r--r-- 1 root root 1.3K Aug 14 18:44 dpkg.log.3.gz -rw-r--r-- 1 root root 32K Aug 24 06:17 faillog drwxr-xr-x 2 root root 4.0K Apr 23 2009 fsck -rw-r----- 1 syslog adm 47K Dec 16 20:51 kern.log -rw-r----- 1 syslog adm 113 Oct 8 09:13 kern.log.0 -rw-r----- 1 syslog adm 75K Sep 18 07:57 kern.log.1.gz -rw-r----- 1 syslog adm 15K Sep 13 19:25 kern.log.2.gz -rw-r----- 1 syslog adm 105K Sep 12 19:22 kern.log.3.gz -rw-r----- 1 syslog adm 103K Aug 29 19:30 kern.log.4.gz -rw-r----- 1 syslog adm 108K Aug 20 19:48 kern.log.5.gz -rw-rw-r-- 1 root utmp 286K Dec 16 20:51 lastlog -rw-r----- 1 syslog adm 0 Apr 23 2009 lpr.log -rw-r----- 1 syslog adm 0 Apr 23 2009 mail.err -rw-r----- 1 syslog adm 0 Apr 23 2009 mail.info -rw-r----- 1 syslog adm 0 Apr 23 2009 mail.log -rw-r----- 1 syslog adm 0 Apr 23 2009 mail.warn -rw-r----- 1 syslog adm 44K Dec 16 20:51 messages -rw-r----- 1 syslog adm 16K Dec 13 19:26 messages.0 -rw-r----- 1 syslog adm 1.3K Dec 6 19:26 messages.1.gz -rw-r----- 1 syslog adm 1.3K Nov 29 19:09 messages.2.gz -rw-r----- 1 syslog adm 1.3K Nov 22 19:08 messages.3.gz drwxr-s--- 2 mysql adm 20K Dec 16 20:51 mysql -rw-r----- 1 mysql adm 0 Dec 9 00:07 mysql.err -rw-r----- 1 mysql adm 0 Dec 16 19:37 mysql.log -rw-r----- 1 mysql adm 0 Dec 15 19:25 mysql.log.1 -rw-r----- 1 mysql adm 20 Dec 14 19:25 mysql.log.2.gz -rw-r----- 1 mysql adm 20 Dec 13 19:26 mysql.log.3.gz -rw-r----- 1 mysql adm 20 Dec 12 19:33 mysql.log.4.gz -rw-r----- 1 mysql adm 20 Dec 11 19:48 mysql.log.5.gz -rw-r----- 1 mysql adm 20 Dec 10 19:43 mysql.log.6.gz -rw-r----- 1 mysql adm 20 Dec 9 19:43 mysql.log.7.gz -rw-r----- 1 mysql adm 20 Dec 9 00:07 mysql.log.8.gz drwxr-sr-x 2 news news 4.0K Apr 23 2009 news -rw-r--r-- 1 root root 0 Aug 17 20:40 pycentral.log -rw-r----- 1 syslog adm 261K Dec 16 20:58 syslog -rw-r----- 1 syslog adm 318K Dec 15 19:25 syslog.0 -rw-r----- 1 syslog adm 22K Dec 14 19:25 syslog.1.gz -rw-r----- 1 syslog adm 22K Dec 13 19:25 syslog.2.gz -rw-r----- 1 syslog adm 21K Dec 12 19:30 syslog.3.gz -rw-r----- 1 syslog adm 23K Dec 11 19:44 syslog.4.gz -rw-r----- 1 syslog adm 27K Dec 10 19:40 syslog.5.gz -rw-r----- 1 syslog adm 25K Dec 9 19:40 syslog.6.gz -rw-r--r-- 1 root root 258K Dec 16 20:49 udev -rw-r----- 1 syslog adm 0 Apr 23 2009 user.log -rw-rw-r-- 1 root utmp 42K Dec 16 20:51 wtmp -rw-rw-r-- 1 root utmp 478 Nov 25 02:21 wtmp.1.gz 

你的/ var正在占用这个空间 – 几乎是500GB。 详细调查它。

它可以不旋转/ var /日志与日志?

或者可能是/ var / spool与一些垃圾邮件?

或者可能/ var / www?

 du -h /var > /some/file.txt 

上传文件的地方,并张贴在这里。 或者只是运行

 du -h /var/|less 

并自己找出来。

这完全有可能是du的一个虚假列表。 /var/log/lastlog通常是一个稀疏文件,它看起来一些实用程序大得多,而ls -l显示正确的大小。 尝试一个du -ak | sort -n du -ak | sort -n/var/log ,看看是否在这里的情况。

两件事情,
1.)运行这样的东西,看具体在哪里/ var

  [root @ log〜]#find / var -type d -exec du -s {} \;  |  sort -nr | 头
 1161916 / var
 1046368 / var / log
 98196 / var / cache
 97796 / var / cache / yum
 31468 / var / cache / yum / core-0
 29204 / var / cache / yum / epel
 28760 / var / cache / yum / base
 16948 / var / lib
 16012 / var / lib / rpm
 5864 / var / cache / yum / updates

2.)检查看看你没有很多大的被删除的文件,它们仍然有一个打开的文件句柄给他们。 这经常是du和df之间差异的原因。

 [root @ log〜]#lsof |  grep删除
 syslogd 2728 root 7w REG 253,0 811129687 688393 /var/log/rsyncd.log.1(删除)
 tail 30912 root 0u CHR 136,1 3 / dev / pts / 1(已删除)
 tail 30912 root 1u CHR 136,1 3 / dev / pts / 1(已删除)
尾30912根2u CHR 136,1 3 / dev / pts / 1(删除)
 tail 30912 root 3r REG 253,0 1233377 688370 /var/log/messages.5(删除)

mysql-bin.ddddd文件是MySQL二进制日志文件 。 他们可以长得很大。 如果您不需要复制或高级数据恢复,则可以禁用它们。 编辑my.cnf文件,注释掉包含log-bin,expire_log_days和max_binlog_size的行。

 #log-bin ... #expire_logs_days = 10 ... #max_binlog_size = 100M 

然后重新启动MySQL并删除所有的mysql-bin文件。

你有没有比较df -h /var的输出?

有的时候,如果一个文件在被写入的时候被删除了,它可能会搞乱文件的元数据,所以文件声明的大小不断增长,而实际上并没有占用任何空间。 在这种情况下, du可能会显示一个巨大的空间,而实际上没有太多的使用。

同时尝试查看是否存在使用lsof | grep -i deleted运行程序的已删除文件 lsof | grep -i deleted 。 杀死这样的程序可以解决你的问题。