我有两台服务器,一台用于生产,一台用于暂存。在暂存服务器中,当您访问/usr/src
并点击du -sh
时,您会在不到 1 秒的时间内得到响应。在我的生产服务器中,它目前使用了 20% 的 CPU 和 40% 的 RAM,并且生产中的应用程序运行平稳,同样的命令需要近 5 分钟才能返回。暂存服务器返回 560Mb 的磁盘使用量,而生产服务器仅返回 405Mb。因此,实际上,暂存服务器中的这个目录更重,并且该命令的响应立即返回。是什么让我想到那里有大量文件而不是一些大而重的文件。
这些服务器之间应该没有太大差异,但可能有。我试着找出原因。
另外,当进入/
目录并点击:(df -h
这次我很快就得到了响应)我得到了这个:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 2.0G 0 2.0G 0% /dev
tmpfs 395M 652K 394M 1% /run
/dev/vda1 25G 22G 2.3G 91% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 395M 0 395M 0% /run/user/1001
tmpfs 395M 0 395M 0% /run/user/1003
在临时服务器上,有一个来自生产服务器的数据库克隆,其大小只有大约 2gb,结果如下:
df -h
Filesystem Size Used Avail Use% Mounted on
udev 984M 0 984M 0% /dev
tmpfs 200M 616K 199M 1% /run
/dev/vda1 25G 4.7G 20G 20% /
tmpfs 997M 0 997M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 997M 0 997M 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 200M 0 200M 0% /run/user/1004
如您所见,/dev/vda1
只有 4.7GB - 而生产服务器中有 22GB。从我的角度来看,显然没有添加任何会导致生产服务器磁盘使用量如此之大的东西。我唯一能想到的就是日志膨胀或类似的东西。
所以我转到/
目录并点击每个目录的命令du -sh
,转到/var/logs
并清除了不应该在那里的所有内容。并清理了大约 1 GB,但仍然有一些东西占用了大量的磁盘空间,我找不到是什么。
我认为它与 linux-headers、logs 或其他东西有关。
我该如何验证这一点?我如何才能准确了解磁盘使用量的消耗情况?