删除文件后,linux磁盘使用率报告不一致。 cpanel不准确的磁盘使用情况报告

时间:2012-11-01 20:30:09

标签: linux cpanel redhat

相关软件:
红帽企业Linux服务器版本6.3(圣地亚哥)
cpanel安装了11.34.0(build 7)

背景和问题:
我收到磁盘使用警告(通过cpanel)因为/ var似乎在我的服务器上填满了。假设日志文件变得太大并填满了分区。我最近删除了一个大型日志文件并更改了我的syslog配置以更频繁地轮换日志文件。我删除了/ var / log / somefile和编辑的/etc/rsyslog.conf之类的东西。这就是我怀疑cpanel发出的磁盘使用情况报告警告的原因,因为它看起来不对。

这就是df为分区报告的内容:

$ [/var]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  511M  8.9G   6% /
tmpfs                 5.9G     0  5.9G   0% /dev/shm
/dev/sda1              99M   53M   42M  56% /boot
/dev/sda8             883G  384G  455G  46% /home
/dev/sdb1             9.9G  151M  9.3G   2% /tmp
/dev/sda3             9.9G  7.8G  1.6G  84% /usr
/dev/sda5             9.9G  9.3G  108M  99% /var

这是du报告的/ var挂载点:

$ [/var]# du -sh
528M    .
显然,一些时髦的东西正在发生。我过去曾有类似的报告不一致,我重新启动了服务器,之后df报告似乎是正确的。我决定重启服务器,看看是否会有同样的事情。

这就是df现在报道的内容:

$ [~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2             9.9G  511M  8.9G   6% /
tmpfs                 5.9G     0  5.9G   0% /dev/shm
/dev/sda1              99M   53M   42M  56% /boot
/dev/sda8             883G  384G  455G  46% /home
/dev/sdb1             9.9G  151M  9.3G   2% /tmp
/dev/sda3             9.9G  7.8G  1.6G  84% /usr
/dev/sda5             9.9G  697M  8.7G   8% /var

这看起来更像是我期望得到的。

为了保持一致性,这是du报告/ var:

$ [/var]# du -sh
638M    .

问题:
这是一件令人讨厌的事。我不确定cpanel发出的磁盘使用情况报告在哪里获取信息,但显然不正确。如何在将来避免这种不准确的报告?似乎df报告错误的磁盘使用情况是源问题的一个强有力的指标,但我不确定。有没有办法以某种方式'刷新'文件系统,以便df报告准确无需重新启动服务器?还有其他解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:2)

如果删除某个文件,但某个进程仍然打开该文件,则不会恢复该磁盘空间 - 该进程将继续访问该文件。这是日志文件的常见问题,因为syslogd使它们全部打开。

du报告的磁盘空间不包含此文件,因为它通过向下遍历目录层次结构来累计它找到的所有文件的大小。但是这个文件在任何目录中都找不到,所以不计算在内。 df报告文件系统中使用的实际空间。

日志文件循环脚本向syslogd发送一个信号,告诉它关闭重新打开所有日志文件。您可以通过以下方式完成此任务:

killall -HUP syslogd

您还需要执行此操作才能syslogd使用已修改的syslog.conf