为什么磁盘空间占用这么多?这没有道理

为什么磁盘空间占用这么多?这没有道理

我运行了这个命令:

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    /

什么东西占用了 540G 的空间?我在列表中根本没看到它。我使用的是 ubuntu,最新版本。

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

这是 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

答案1

你的 /var 占用了那个空间 - 几乎 500GB。请更详细地调查它。

可以使用日志取消旋转 /var/log 吗?

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

或者也许是 /var/www ?

跑步

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

将文件上传到某处并发布到这里。或者直接运行

du -h /var/|less 

并自己弄清楚。

答案2

这完全有可能是一个虚假的列表du/var/log/lastlog通常是一个稀疏文件,它出现很多某些实用程序会显示较大的尺寸,但ls -l会显示正确的尺寸。尝试一下du -ak | sort -n/var/log看看这里是否是这种情况。

答案3

有两件事,
1.)运行类似这样的程序来查看 /var 中具体在哪里

[root@log ~]# find /var -type d -exec du -s {} \; | sort -nr | head
1161916 /var
1046368 /var/日志
98196 /var/缓存
97796 /var/缓存/yum
31468 /var/缓存/yum/core-0
29204 /var/缓存/yum/epel
28760 /var/缓存/yum/base
16948 /var/lib
16012 /var/lib/rpm
5864 /var/缓存/yum/更新

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 (已删除)
tail 30912 root 2u CHR 136,1 3 /dev/pts/1 (已删除)
tail 30912 root 3r REG 253,0 1233377 688370 /var/log/messages.5 (已删除)

答案4

您是否与 的输出进行了比较df -h /var

有时,如果在写入文件时删除了该文件,则可能会弄乱文件的元数据,因此文件声明的大小会不断增长,但实际上并没有占用任何空间。在这种情况下,du可能会显示很大的空间,但实际上并没有太多用处。

另外尝试查看是否有正在运行的程序所使用的已删除文件lsof | grep -i deleted。终止此类程序可以解决您的问题。

相关内容