Назад | Перейти на главную страницу

Повышение производительности запросов об использовании диска в Linux с помощью du -s или df при сохранении точности?

Я запускаю сценарий, чтобы узнать использование диска на широком диапазоне VPS (размер от менее 1 ГБ до более 200 ГБ) ... Я пытаюсь поддерживать производительность (например, нет дополнительная нагрузка на VPS) при сохранении точности.

df работает быстро и не создает никакой нагрузки на диск, о которой я знаю, но он не очень точен (у меня было сообщение о 0,54 ГБ использованного диска, когда было 6+ ГБ использования) ...

du -s достаточно быстр на меньших системах, поэтому он не влияет на производительность (это делается до того, как это имеет значение), он точен и работает хорошо, но если вы запустите его на более крупной системе, он использует тонну I / O и может замедлить всю машину.

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

Этот сценарий запускается каждые 10 секунд, пока я просматриваю статус ... Данные не обязательно должны быть на 100% точными при первом запросе, но к третьему запросу это должно быть. (Если это имеет смысл ...)

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

Вы можете попробовать использовать ionice чтобы снизить приоритет io сканирования диска и отлично снизит приоритет процессора.

Сканирование каждые 10 секунд, вероятно, слишком часто.