Ответ
Для анализа дискового пространства и 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 # Покажет удаленные, но еще открытые файлы, которые могут "съедать" место