Какие команды для проверки загруженности диска в Linux ты знаешь?

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

Ответ

Для анализа дискового пространства и I/O-нагрузки я использую несколько инструментов:

1. Проверка свободного места (df):

df -h  # Человеко-читаемый формат (GB, MB)
df -i  # Проверка использования inode (частая проблема при множестве мелких файлов)

2. Поиск больших файлов и директорий (du):

# Размер текущей директории
du -sh .
# Поиск 10 самых больших директорий в /var
sudo du -sh /var/* | sort -rh | head -10
# Рекурсивный поиск файлов больше 100MB
find / -type f -size +100M -exec ls -lh {} ; 2>/dev/null | head -20

3. Мониторинг I/O-нагрузки в реальном времени:

  • iostat -dx 1 — показывает утилизацию каждого диска (%util), время ожидания (await) и пропускную способность.
  • iotop — аналог top для дисковых операций, показывает процессы, активно ведущие запись/чтение.

4. Практический пример — диагностика "диск полон":

# Шаг 1: Проверим, какая файловая система заполнена
df -h
# Шаг 2: Найдем крупнейшие директории в корневой файловой системе (/)
sudo du -xh / --max-depth=1 | sort -rh | head -10
# Шаг 3: Если это лог-файлы, проверим, какой процесс их пишет, используя lsof
sudo lsof +L1  # Покажет удаленные, но еще открытые файлы, которые могут "съедать" место