驱动器不断加满。您已经找到了所有可以找到的备用和随机文件。grep'd 用于 coredump 文件,甚至删除了一些不需要的备份......
你的下一步行动是什么。
有问题的实际服务器有 10GB 的网站文件,操作系统不应超过 10GB,那么您如何追踪填充 50GB(虚拟)驱动器的内容?
驱动器不断加满。您已经找到了所有可以找到的备用和随机文件。grep'd 用于 coredump 文件,甚至删除了一些不需要的备份......
你的下一步行动是什么。
有问题的实际服务器有 10GB 的网站文件,操作系统不应超过 10GB,那么您如何追踪填充 50GB(虚拟)驱动器的内容?
当然还有更复杂的方法,但我记得的一种是
现在取出占用空间最多的目录
(du --max-depth=1 -h /yourdir)
并深入了解,直到找到罪魁祸首。如果希望您的输出按大小排序并且不关心人类可读的格式,您也可以这样做
du --max-depth=1 /your_dir | sort -n
我发现 ncdu ( http://dev.yorhel.nl/ncdu ) 对此非常有帮助。
我使用 Gnome 程序猴面包树。您可以在桌面上运行它,并且可以通过 SSH 连接到服务器。它显示了一个易于阅读的磁盘空间使用图形地图。它作为“磁盘使用分析器”安装在 Gnome 下
试试gt5 。
df -k 显示哪些 fs 是问题所在。然后 cd 到它的顶层目录并运行 du -xk | 排序-n | tail -25 这将显示排序的前 25 个目录,对于 sun 9 或更早,将 x 替换为 d。
请注意,文件可以在仍被写入时被删除,因此它们在创建过程运行时使用磁盘空间,但没有文件名。
这使得使用常用工具无法找到它 - 您可以使用 lsof 来调查哪些进程具有打开的文件。
如果您可以在系统上运行软件,那么xdiskusage将以图形方式向您显示哪些目录/文件正在占用您的空间。非常有用。
我相信 KDE 包含类似的东西。
如果它是纯文本的并且您无法安装额外的软件,那么创造性地使用
du
可能也会让您到达那里。这是我拼凑起来的东西,以追踪我们数据库服务器上的一些流氓进程:rabbitfinder
它有点笨拙而且不是很健壮,但它是这样工作的:
ps -lFp
将显示文件是哪个进程拥有它们您可以使用以下命令查找占用过多空间的文件或文件夹。
例如,要显示当前文件夹中最大的前 20 个目录,请使用以下单行:
或者:
对于当前目录中最大的 20 个文件(递归):
或具有人类可读尺寸:
您可以将这些命令定义为别名(例如添加到您的rc文件中,例如
.bash_profile
):然后运行
big
或big-files
在您认为发生的文件夹内(例如 in/home
)。