Мониторинг производительности Linux #
Мониторинг производительности Linux — ключевая задача для администраторов и DevOps-инженеров. Он помогает выявлять узкие места в CPU, памяти, I/O, сети и процессах, анализировать поведение системы под нагрузкой и предотвращать деградацию работы сервисов.
Утилита htop (CPU, RAM, I/O) #
# Стандартный запуск
htop
# Запуск с обновлением каждые 5 секунды
htop -d 50
# Отобразить только процессы пользователя alex
htop -u alex
# Показать процессы с PID 1234 и 5678
htop -p 1234,5678
# Сортировка по использованию памяти в % при запуске
htop -s PERCENT_MEM
Горячие клавиши:
- k - чтобы остановить процесс, вначале выделите его, затем нажмите клавишу
kи выберите отправляемый сигнал. Например сигналsigterm— попытается корректно завершить процесс, аsigkill— моментально убьёт его. И нажмите Enter чтобы отправить сигнал процессу, либо Esc чтобы отменить действие. - u - чтобы выбрать пользователя, процессы которого нужно отображать.
- p - чтобы показать или убрать полную командную строку со всеми параметрами.
Настройки интерфейса:
- F6 - чтобы выбрать колонку для сортировки, а чтобы обратить сортировку Shift+I (еще можно использовать мышку)
- F2 - чтобы добавить новые колонки или добавить отображение какой-то информации в верхней части экрана, или изменить цветовую гамму приложения.
Например, чтобы посмотреть какой процесс занял виртуальную память, запускаемsudo htopи добавляем колонкуM_SWAP:
F2 - Screens - Main - M_SWAP
Утилита iostat (CPU, I/O) #
# Если утилита не установлена, ставим
apt install sysstat
# Статистика CPU и всех дисков
iostat -h 5
# Расширенная статистика CPU и всех дисков
iostat -x 5
# Статистика только CPU
iostat -c 5
# Статистика только всех дисков
iostat -d 5
# Статистика только дисков sda sdb
iostat -d sda sdb 5
Утилита iotop (proccess + I/O) #
# Стандартный запуск
sudo iotop
# Показывать только процессы, которые реально читают/пишут на диск
sudo iotop -o