2015-07-03 5 views
1

У меня есть система centos, которая сообщает больше об использовании диска, используя df, чем использует du. Я читал, что это может произойти, когда дескриптор файла не был закрыт. Тем не менее, я перезапустил систему несколько раз, и lsof не обнаруживает никаких файловых дескрипторов.df и du сообщают о различных количествах используемой файловой системы

Этот хост является зеркальным отражением другого хоста, которым я управляю с помощью lftp в ночное время. Я настроил apache на этом хосте, указав его на зеркальный каталог, используя символическую ссылку. Фактические зеркальные данные составляют около 12-13 ГБ. Исходя из этого, число 14 ГБ кажется правильным, а df сообщает о дополнительных 9 ГБ.

Что может быть причиной этого?

$ df -h 
Filesystem  Size Used Avail Use% Mounted on 
/dev/xvda  48G 23G 23G 50%/
tmpfs   492M 112K 492M 1% /dev/shm 
$ du -hs/2>/dev/null 
14G /

ответ

0

Пробег du как корень. Файлы, недоступные вашей учетной записи пользователя, не будут включены в общую сумму, поэтому вы должны запускаться от имени root, чтобы увидеть сумму всех файлов на диске.

+1

Или, по крайней мере, не отбросить разрешение, отклоненное сообщение об ошибке: '2>/dev/null' – msw

+1

Это должен был быть мой первый ключ, когда я добавил это в команду. Это практически ударило меня в лицо, но я все еще пропустил это. Спасибо за вашу помощь. – Kylos

1

Запустить fsck на этом диске.

df предоставит вам количество блоков в количестве нераспределенных блоков диска, du сообщает, сколько блоков доступно через файловую систему. Вы можете увидеть различия в этих методах, потому что df мгновенно (поиск числа), и du занимает некоторое время, пропорциональное количеству файлов (точнее, i-узлы), которые он должен проверять.

В свободном счете может отсутствовать пространство в размере 9 ГБ, не имея имени файла, с помощью которого можно связаться с ним. Это обычная форма повреждения файловой системы.

+0

Я бежал fsck и не получил никаких подсказок по ремонту. Он дал этот статус:/dev/xvda: 150374/5549696 файлов (38,9% несмежных), 6014203/12517376 блоков – Kylos

+0

И 6014203/12517376 составляет около 50%. поэтому df, вероятно, правильно. Я никогда не использовал бы, чтобы считать пространство, которое не используется; это не его работа. – msw

+0

Да, я это заметил. Основываясь на количестве данных, которые я отразил, у меня должно быть около 14 ГБ. Я использовал du, чтобы попытаться найти файлы, которые отвечали за 9 ГБ. Интересно, что когда я использую аварийный раздел и монтирую свой том, du показывает 23 ГБ, но когда я монтирую его нормально, он показывает 14 ГБ. – Kylos