我曾使用 Ubuntu 14.04 作为服务器来托管我的公司网站和邮件系统。该系统上线 3 周后,我就无法发送或接收电子邮件了。几分钟的调试显示了原因:磁盘空间不足。
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 799M 8.7M 790M 2% /run
/dev/xvda1 7.8G 7.4G 0 100% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
tmpfs 100K 0 100K 0% /run/lxcfs/controllers
tmpfs 799M 0 799M 0% /run/user/1000
问题:如何找到占用所有磁盘空间的目录?
我尝试df -hs /path/to/directory
在所有根目录上使用,但没有成功。有 4GB 的空间未被占用。
答案1
十大最大目录:
du -a / | sort -n -r | head -n 10
以更人性化可读的格式:
du -hsx / | sort -rh | head -10
最大的 10 个文件:
find / -printf '%s %p\n'| sort -nr | head -10
有 4GB 空间未被占用。
很多小文件加起来也有4Gb……
我建议看看最明显的罪魁祸首:
/var/log/
如果您的系统出现错误,系统会将其记录在那里。3 周的错误很快就会累积到 4Gb。除此之外:在该系统上使用数据库?如果是……/var/lib/mysql
例如,检查数据库存储文件的目录。