3

Я пытаюсь оценить, где распределено мое дисковое пространство на моем Unix-сервере. Чтобы увидеть текущее состояние дискового пространства я бегу:
df -h

Но при попытке оценить, что занимает место на диске и работает из /

du -skh * | sort -n

Общее используемое пространство составляет 956 ГБ, но общее занимаемое пространство, которое я вижу в подразделении, составляет менее 730 ГБ. Числа просто не складываются. Как это может быть? Где остальные ~ 200гб ??

Примечание. Большая часть используемого дискового пространства используется MySQL. Один огромный стол InnoDB и несколько маленьких.

2 ответа2

1

df спросит у суперблока, сколько места выделено, а du рассчитает размер всех видимых файлов. Эти две разные метрики приведут к тому, что df -h и du -sxh / не согласятся друг с другом.

Если вы беспокоитесь о свободном месте, du должен быть более точным (при условии, что вы не собираетесь исчерпать доступные блоки в файловой системе).

Дальнейшее объяснение: http://linuxshellaccount.blogspot.com/2008/12/why-du-and-df-display-different-values.html

0

Вы запускаете команду du от имени root? Если нет, вы не сможете войти в каталоги вроде /root из-за проблем с разрешениями. Таким образом, вы не сложите размер файлов в этих каталогах. Это может объяснить, почему это число меньше. Кроме того, я считаю, что команда df покажет общий размер файловой системы (например, размеры inode + размеры файлов), тогда как du покажет только размеры файлов. Это заставило бы df иметь большее число.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .