middle
Какие инструменты мониторинга есть в Linux?
Основные инструменты для мониторинга производительности системы.
top / htop — мониторинг процессов
Пример
top # Встроенный монитор процессов
htop # Улучшенный top (sudo apt install htop)
Горячие клавиши в top: M — сортировка по памяти, P — по CPU, 1 — все ядра CPU, q — выход.
free — использование памяти
Пример
$ free -h
total used free shared buff/cache available
Mem: 7.8Gi 2.1Gi 3.2Gi 128Mi 2.5Gi 5.3Gi
Swap: 4.0Gi 0B 4.0Gi
- used — использовано приложениями
- buff/cache — буферы и кеш (может быть освобождён при необходимости)
- available — реально доступно для новых приложений (free + освобождаемый кеш)
uptime и load average
Пример
$ uptime
14:30:00 up 45 days, 3:12, 2 users, load average: 0.52, 0.48, 0.41
Load average — среднее количество процессов в очереди за 1, 5 и 15 минут. Для системы с N ядрами: LA < N — норма, LA > N — перегрузка.
vmstat — статистика виртуальной памяти и CPU
Пример
vmstat 2 5 # Обновление каждые 2 секунды, 5 раз
iostat — статистика дискового I/O
Пример
sudo apt install sysstat
iostat -xz 2 # Каждые 2 секунды
Ключевые метрики: %util — загрузка диска, await — среднее время ожидания I/O (мс).
dmesg — сообщения ядра
Пример
dmesg -T | tail -20 # Последние сообщения с человекочитаемым временем
Для Java-разработчика
- Утечки памяти:
free,htop— рост RSS Java-процесса - Высокая нагрузка CPU:
top—%CPUJava-процесса - Проблемы с дисковым I/O:
iostat— при медленных запросах к БД - JVM в swap:
vmstat— столбцыsi/so(swap in/out)
На собеседовании: ключевые утилиты —
top/htop,free -h,df -h. Интервьюер хочет убедиться, что вы можете диагностировать, почему приложение тормозит. Частая ошибка — смотреть наfreeвместоavailableпри оценке доступной памяти.buff/cache— это не потерянная память, она может быть освобождена.