Команды TOP и HTOP в Linux: поиск процессов, грузящих процессор и память
Симптомы высокой нагрузки сервера
Сервер медленно отвечает по SSH, сайты падают с таймаутом (504 Gateway Time-out), а показатель Load Average превышает количество ядер процессора. Необходимо быстро локализовать проблемный процесс.
Диагностика через TOP и интерактивный HTOP
1. Стандартная утилита TOP
Запустите встроенный монитор:
topГорячие клавиши сортировки внутри top:
- Нажмите Shift + P — сортировка процессов по загрузке CPU (%);
- Нажмите Shift + M — сортировка по использованию Оперативной памяти (RAM %);
- Нажмите q — выход из программы.
2. Удобный визуальный монитор HTOP
Установите и запустите продвинутый диспетчер задач:
sudo apt install htop -y
htop- F6 — быстрое меню выбора сортировки (по CPU%, MEM%, PID);
- F3 — текстовый поиск процесса по названию;
- F9 — мгновенное меню отправки сигнала процессу (выберите SIGKILL 9 и нажмите Enter для уничтожения зависшей программы);
- F10 — выход из htop.
Что такое Load Average (LA)? Первая цифра показывает нагрузку за 1 минуту, вторая — за 5 минут, третья — за 15 минут. Если LA больше количества ядер вашего процессора (узнать число ядер: nproc), сервер перегружен очередью задач.
Частые вопросы (FAQ)
Что означает столбец VIRT, RES и SHR в top?
RES (Resident) — это реальная физическая оперативная память, которую процесс занимает прямо сейчас. VIRT — виртуальная запрошенная память, SHR — разделяемая память с другими процессами.
Что такое процесс kswapd0 с высокой нагрузкой CPU?
Этот системный поток ядра включается, когда на сервере полностью закончилась свободная оперативная память и система пытается сбросить данные в файл подкачки (Swap) на медленный диск.
Как вывести 5 самых прожорливых процессов одной строкой?
Выполните команду: ps aux --sort=-%cpu | head -n 6.
Что показывает столбец %MEM?
Процент физической оперативной памяти сервера, выделенной под данный конкретный процесс.