Gymterview
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%CPU Java-процесса
  • Проблемы с дисковым I/O: iostat — при медленных запросах к БД
  • JVM в swap: vmstat — столбцы si/so (swap in/out)

На собеседовании: ключевые утилиты — top/htop, free -h, df -h. Интервьюер хочет убедиться, что вы можете диагностировать, почему приложение тормозит. Частая ошибка — смотреть на free вместо available при оценке доступной памяти. buff/cache — это не потерянная память, она может быть освобождена.