Какая утилита используется для анализа нагрузки на файловую систему в Linux?

«Какая утилита используется для анализа нагрузки на файловую систему в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для анализа нагрузки на диски и файловые системы в Linux используется несколько утилит, выбор зависит от конкретной задачи.

Основные инструменты:

  1. iostat (из пакета sysstat): Лучший инструмент для детального анализа статистики ввода-вывода (I/O) по устройствам.

    # Показать расширенную статистику по всем дискам с обновлением каждую секунду
    iostat -dx 1
    • %util: Процент загрузки устройства (ключевой показатель насыщенности).
    • await: Среднее время ожидания I/O-операции (латентность).
    • r/s, w/s: Количество операций чтения/записи в секунду (трафик).
  2. iotop: Аналог top, но для I/O. Показывает, какие процессы создают нагрузку на диски в реальном времени.

    iotop -o  # показать только активные процессы, выполняющие I/O
  3. dstat: Универсальный инструмент, который может объединять данные о CPU, диске, сети и памяти.

    dstat -cdl --disk-util  # комбинированный вывод по CPU, дискам, load average и утилизации
  4. Для мониторинга в продакшене мы настраиваем сбор этих метрик через node_exporter (коллектор для Prometheus), который предоставляет метрики node_disk_*. Это позволяет строить графики в Grafana и настраивать алерты на высокую загрузку диска (node_disk_io_time_weighted_seconds_total).