Ответ
Нагрузка на дисковую подсистему — ключевой метрика для производительности и диагностики проблем (например, медленных запросов к БД). Использую следующий набор утилит:
1. Проверка использования дискового пространства (df):
# Основная команда: покажет смонтированные FS, их размер, использование и точку монтирования
# Ключ -h делает вывод «человекочитаемым» (в ГБ, МБ)
df -h
# Полезно для мониторинга inodes (при их исчерпании нельзя создавать файлы, даже если есть место)
df -i
2. Анализ вложенности и объема данных (du):
# Найти, какие директории занимают больше всего места в текущем расположении
sudo du -sh * | sort -hr | head -20
# Глубокий анализ конкретного пути (например, логов приложения)
sudo du -ah /var/log/ | sort -rh | head -30
3. Мониторинг дисковых операций ввода-вывода (IO) в реальном времени:
# iostat (из пакета sysstat) — показывает утилизацию диска, время ожидания, пропускную способность
# Ключ -x дает расширенную статистику, 2 — обновление каждые 2 секунды
iostat -x 2
# Смотрите на столбец `%util` — это процент загрузки устройства.
# iotop (требует sudo) — аналог top для дисков, показывает процессы, активно читающие/пишущие
sudo iotop -o
# dstat — универсальный инструмент, может показывать дисковую активность вместе с сетью и CPU
dstat -d --disk-util
Для DevOps: Эти команды интегрируются в системы мониторинга (например, через node_exporter для Prometheus), чтобы отслеживать disk_usage и disk_io на графиках в Grafana и настраивать алерты при достижении лимитов.