缺less/ var分区上的空间?

我们的一个服务器pipe理员让我看看这个,我很难过 – 我们的/ var分区已经满了,但是我似乎无法确定这个空间在哪里。

以下是“du / var -ah”的输出

... 202M var/ 

然而'df -h'返回

 Filesystem Size Used Avail Use% Mounted on /dev/mapper/gza-root 268M 108M 147M 43% / tmpfs 2.0G 0 2.0G 0% /lib/init/rw udev 10M 68K 10M 1% /dev tmpfs 2.0G 0 2.0G 0% /dev/shm /dev/sda1 236M 20M 204M 9% /boot /dev/mapper/gza-home 115G 15G 95G 14% /home /dev/mapper/gza-tmp 380M 11M 350M 3% /tmp /dev/mapper/gza-usr 4.7G 3.9G 610M 87% /usr /dev/mapper/gza-var 2.9G 2.7G 26M 100% /var 

我似乎无法find其他2.5GB已经走了,有什么想法或提示?

尝试重新启动服务。 这是可能的东西有一个文件打开/ var当你删除(rm解除链接的东西,它)。 系统将不会释放空间,直到所有closures文件句柄为该文件。

您可能需要使用lsof来找出哪些程序仍然在/ var中打开文件。

由于它是/ var,我猜想还是有一个日志文件打开。

有几个可能的path采取与此:

  1. 你是否出了inode,而不是没有空闲块(实际空间)? 如果有很多小文件,它们可能会吃掉所有的inode(有效的,在文件分配表中的条目)。一旦所有inode用完,即使有足够的空闲块,也不能添加新文件在分区中。 这是一个通配的答案,以检查是否没有明显的吸烟枪。 inode耗尽是罕见的事件,但它仍然发生(Blackboard 7.0 …)
  2. du -s /var/* | sort -rn du -s /var/* | sort -rn应该给你一个更好的想法,比如像KDirStat这样的graphics工具,在/ var中占用的空间。 因为你正在处理/ var,所以我不推荐使用KDirStat来解决这个问题。 与/ home相比,/ var的问题往往会影响系统的稳定性。 另外,在一个专门的服务器的情况下,你不应该首先在框中运行一个graphics用户界面(GUI),使得使用(本地)GUI工具模拟的概念。 在不太危急的情况下,KDirStat,WinDirStat和SequoiaView等工具的平方化树图输出使得问题识别变得微不足道; 树形图是可视化磁盘使用的一个很好的方法。
  3. 某些服务失控并将大量垃圾logging到/ var / log? 如果您的组织文化接受它,则设置专用日志主机并让所有机器通过networking向其写入日志可能很有价值。 至less,确保每个日志都根据您的站点的日志保留策略进行适当的轮换,压缩和删除。 logrotate是你的朋友。
  4. 你有一个日志保留策略,对不对? ;)但是,严重的是,如果你没有一个,请设置一个。 这可以是一个句子 – “我们会保留七天的原木日志,除非与服务业主交替安排,以书面forms。”

你有权限到/ var下的所有文件夹吗? 杜不报告用于你没有权限的东西的空间。

我想知道你的机器一旦问到它有多lessinode就会告诉你。 在分区上存储数据的能力不仅仅是空闲块的数量的函数。