我昨天从13.10 – > 14.04 – > 14.10 – > 15.10升级了一台旧服务器。 今天我看到,100%的磁盘空间正在被使用,但是我无法追踪到使用的地方。
当我运行du -h --max-depth=1 /我得到如下的日志,这似乎表明根path已满,但是我不能说出源是什么。
du: cannot read directory '/proc/4390/task/4390/ns': Permission denied du: cannot read directory '/proc/4390/fd': Permission denied du: cannot read directory '/proc/4390/map_files': Permission denied du: cannot read directory '/proc/4390/fdinfo': Permission denied du: cannot read directory '/proc/4390/ns': Permission denied du: cannot read directory '/proc/4392/task/4392/fd': Permission denied du: cannot read directory '/proc/4392/task/4392/fdinfo': Permission denied du: cannot read directory '/proc/4392/task/4392/ns': Permission denied du: cannot read directory '/proc/4392/fd': Permission denied du: cannot read directory '/proc/4392/map_files': Permission denied du: cannot read directory '/proc/4392/fdinfo': Permission denied du: cannot read directory '/proc/4392/ns': Permission denied du: cannot access '/proc/4393/task/4393/fd/3': No such file or directory du: cannot access '/proc/4393/task/4393/fdinfo/3': No such file or directory du: cannot access '/proc/4393/fd/4': No such file or directory du: cannot access '/proc/4393/fdinfo/4': No such file or directory 0 /proc du: cannot read directory '/sys/kernel/debug': Permission denied 0 /sys 4.0K /mnt 1.5G /usr du: cannot read directory '/root': Permission denied 4.0K /root 4.0K /srv 104M /home 7.6M /sbin 12M /bin 47M /boot du: cannot read directory '/var/lib/snmp/mib_indexes': Permission denied du: cannot read directory '/var/lib/php5': Permission denied du: cannot read directory '/var/lib/mysql': Permission denied du: cannot read directory '/var/lib/sudo': Permission denied du: cannot read directory '/var/lib/nginx/proxy': Permission denied du: cannot read directory '/var/lib/nginx/uwsgi': Permission denied du: cannot read directory '/var/lib/nginx/scgi': Permission denied du: cannot read directory '/var/lib/nginx/body': Permission denied du: cannot read directory '/var/lib/nginx/fastcgi': Permission denied du: cannot read directory '/var/log/unattended-upgrades': Permission denied du: cannot read directory '/var/log/mysql': Permission denied du: cannot read directory '/var/log/nginx': Permission denied du: cannot read directory '/var/spool/rsyslog': Permission denied du: cannot read directory '/var/spool/cron/atspool': Permission denied du: cannot read directory '/var/spool/cron/crontabs': Permission denied du: cannot read directory '/var/spool/cron/atjobs': Permission denied du: cannot read directory '/var/cache/ldconfig': Permission denied du: cannot read directory '/var/cache/nginx': Permission denied 18G /var 8.0K /media 4.0K /lib64 du: cannot read directory '/run/log/journal/41cc217bd9afc046de32243850804999': Permission denied du: cannot read directory '/run/systemd/inaccessible': Permission denied 1.5M /run 359M /lib 0 /dev 4.0K /opt 20G /
当我ls -la in /我看到这个:
total 100 drwxr-xr-x 22 root root 4096 Jul 16 00:21 . drwxr-xr-x 22 root root 4096 Jul 16 00:21 .. drwxr-xr-x 2 root root 4096 Jul 16 00:16 bin drwxr-xr-x 3 root root 4096 Jul 16 00:21 boot drwxr-xr-x 13 root root 13680 Jul 16 18:46 dev drwxr-xr-x 108 root root 12288 Jul 16 00:23 etc drwxr-xr-x 3 root root 4096 Jul 15 23:23 home lrwxrwxrwx 1 root root 32 Jul 16 00:18 initrd.img -> boot/initrd.img-4.2.0-42-generic drwxr-xr-x 21 root root 4096 Jul 16 00:16 lib drwxr-xr-x 2 root root 4096 Jul 16 00:14 lib64 drwx------ 2 root root 16384 Oct 18 2012 lost+found drwxr-xr-x 3 root root 4096 Jul 15 23:21 media drwxr-xr-x 2 root root 4096 Oct 9 2012 mnt drwxr-xr-x 2 root root 4096 Oct 17 2012 opt dr-xr-xr-x 169 root root 0 Jul 16 18:46 proc drwx------ 5 root root 4096 Jul 15 23:21 root drwxr-xr-x 19 root root 740 Jul 16 18:49 run drwxr-xr-x 2 root root 12288 Jul 16 00:16 sbin drwxr-xr-x 2 root root 4096 Oct 17 2012 srv dr-xr-xr-x 13 root root 0 Jul 16 18:57 sys drwxrwxrwt 7 root root 4096 Jul 16 19:04 tmp drwxr-xr-x 10 root root 4096 Jul 15 23:23 usr drwxr-xr-x 14 root root 4096 Jul 16 00:17 var lrwxrwxrwx 1 root root 29 Jul 16 00:18 vmlinuz -> boot/vmlinuz-4.2.0-42-generic
再一次,没有看到什么是使用磁盘空间。
我应该在这里做些什么?
运行以下命令查找可用磁盘空间信息:
df -h
然后运行以下命令查找磁盘利用率信息:
sudo du -shc /
(注意sudo ,这应该解决你所看到的权限问题)
find占用大量磁盘空间的目录时,请cd到该目录并重复步骤#2。 继续重复此步骤,直到找出磁盘空间问题的来源。
如果我在serverfault上有足够的声望,我会评论@Paul Calabro的答案。
我也意识到OP很高兴他们的问题已经解决了,但是我认为这对于那些更加紧张或者是新手水平的人来说是有用的。
将
sudo du -shc /*
没有更好的select,因为它会列出根目录中的每个文件夹?
然而,@Paul后来指的是使用cd然后也许
cd / # position 1 sudo du -shc * cd <into whatever folder you want drill down into> # repeat from position 1
我原本是在考虑du -x但是当这不起作用时,我意识到这是因为du -x *没有删除home文件夹,因为虽然确实在不同的文件系统中,但是文件夹*扩展为明确地包含在home 。
进一步使输出稍微容易辨别大,从不那么大的replacedu -h du -BM ,或者更粗的视图du -BG ,那么你会得到一个类似报告
0M /sys 0M /mnt 1500M /usr 0M /root 0M /srv 104M /home 8M /sbin 12M /bin 47M /boot 18000M /var 0M /media 0M /lib64 2M /run 359M /lib
现在, /var文件夹明显突出了,因为您不必注意单位是K,M还是G.我意识到没有-h或-BM的原始文件也会突出显示大小,但是可能是一种情况太多的细节或信息超载。 如果一个文件夹在20G设备上使用4个块或400个块,你真的很困扰吗?
在写这篇文章的时候,我觉得很可惜,没有一个-B%选项,每一行都以总数的百分比表示。
终于有点轻松了…
吹牛的权利
sudo du -scBP /
极度吹牛的权利
sudo du -scBE /