Почему результаты du и quota не совпадают?


8

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

Результаты из quota

   /home/1234$ quota -s
   Disk quotas for user 1234 (uid 1234): 
        Filesystem   space   quota   limit   grace   files   quota   limit   grace
       cslab:/home   4519M*  4096M   5120M   09:47    6155       0       0 

От du

   /home/1234$ du -mad 1
   ...
   936     total

Я не понимаю, почему quotaговорит, что я использую 4,5 ГБ, в то время как duтолько 0,9 ГБ. Я также проверил файлы, /tmpкоторыми владею, и там было 50 МБ файлов. Где могут быть другие 3,5 ГБ файлов? Возможно ли, что система квот неверна и нуждается в перезагрузке?


Ответы:


2

Я полагаю, что некоторые процессы могут сохранять открытыми некоторые файлы. Вы можете попытаться перечислить их, используя,

lsof | grep username | grep deleted

Лучше использовать версию,

lsof +L1 | grep username

Тем не менее, иногда может быть расхождение в выходе между duи quotaчто объясняется в этой ссылке . Выдержка из ссылки,

В Unix команды du и quota могут сообщать разные значения. Причина такого несоответствия заключается в том, что процесс, который проходит через файловую систему, проверяет квоты и обновляет таблицы использования, запускается только в определенное время. Следовательно, между проверками квот будут периоды, когда команда quota -v сообщит о неправильном использовании диска. Используйте команду du для получения наиболее точной информации о размере ваших файлов.


Я пробовал это, но нет открытых удаленных файлов.
Брэндон Клементс

@BrandonClements, эта ссылка полезна?
Рамеш,

Ссылка была полезной, я не считал, что квота обновлялась только периодически. Мне придется подождать и посмотреть, действительно ли это моя проблема, но я думаю, что это так. Не могли бы вы переместить ссылку и краткое описание в ваш ответ.
Брэндон Клементс

@BrandonClements, обновлено. Дайте мне знать, если вам нужно больше информации!
Рамеш

Похоже, он исправился за одну ночь. Для тех, кто читает этот ответ, я хотел бы отметить, что удаление небольших файлов оказало непосредственное влияние на мою квоту, поэтому я не был уверен, что это так. Похоже, это так.
Брэндон Клементс

2

quota работает, запрашивая файловую систему для блоков, фактически занятых вашими файлами.

du работает путем сканирования каталогов рекурсивно для ваших файлов.

Два метода могут дать разные результаты. Например, когда вы «удаляете» файл, он больше не отображается при перечислении каталога. Однако блоки на диске фактически не освобождаются до тех пор, пока последний дескриптор файла на нем не будет закрыт. В этом случае файл невидим для du, но все равно считается с вашей квотой.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.