我有一台分区容量为 300GB 的 Fedora 服务器/dev/xvda1
。我正在快速失去 GB。这不可能是正常的,所以我试图找出这是从哪里来的。
我什至没有使用du
,我只是用来df -h
查看磁盘空间的下降,而且速度很快。任何帮助,将不胜感激。
答案1
当我遇到这样的问题时,这就是我所做的。这不是规则,只是分享我的见解。
1)
检查 的输出df -kh
,并确认安装位置/dev/xvda1
。 (假设 /var 目录)
2)
如果/dev/xvda1
填满速度很快,那么就会发生大量 I/O。尝试查看iotop
命令的输出(如果有),如果没有,请跳过此步骤。
2.1)
如果您确实获得了 iotop 的输出,请在屏幕上查看正在执行最大 I/O 的进程。如果空间填满得这么快,它应该是最重要的之一。记下该进程的 PID。此后,检查以下 命令lsof -p <PID> <---- PID that you noted down
输出的末尾lsof
,您会看到类似的内容
rsyslogd 1171 root 0u unix 0xffff8800379e8700 0t0 11328 /dev/log
rsyslogd 1171 root 1w REG 8,1 628182 3540277 /var/log/messages
rsyslogd 1171 root 2w REG 8,1 27890 3540278 /var/log/secure
rsyslogd 1171 root 3r REG 0,3 0 4026532040 /proc/kmsg
rsyslogd 1171 root 4w REG 8,1 6375 3540279 /var/log/maillog
rsyslogd 1171 root 5w REG 8,1 15228 3539742 /var/log/cron
记下 0u、1w、2w 等值。这些是该进程打开的文件描述符。文件描述符之一将是数据写入速度相当快的文件描述符之一。
3) 假设 /var 目录下没有任何其他目录安装在不同的块设备上,请执行以下操作(如果这样做,请再次 ping 通,我们可能需要有关您的系统的更多信息)
cd /var <--- the directory which you saw where /dev/xvda1 was mounted.
find . -maxdepth 1 -type d -exec du -hs {} \;
这将向您展示 /var 目录中占用空间最高的目录。也许你能从那里得到一些线索。
让我知道是否有结果。
免责声明:我假设您的/dev/xvda1
目录已安装在某个目录上,并且它不是某些 LVM、SWRAID 等的一部分。如果上述命令没有任何帮助(最好是步骤 1 没有关于 /dev/xvda1 的输出),请告诉我们我们分享更多的调查步骤。