Процесс съедает весь CPU
Сломай-почини · Лёгкое · 15 мин · 120 баллов
Процесс съедает весь CPU
Сервер заметно тормозит: load average высокий, отклик вялый. Какой-то процесс
«зациклился» и жжёт процессор на 100%. Нужно найти его и укротить, не задев полезные
службы.
Задача
Сделай так, чтобы:
- процесс-пожиратель CPU был найден и остановлен (его нагрузка устранена);
- загрузка CPU и
load averageвернулись к норме; - полезные службы продолжали работать — без «выключим всё на всякий случай».
Подсказки по подходу
- Кто грузит CPU:
top(илиhtop), сортировка по%CPU; разово —ps aux --sort=-%cpu | head. - Запомни PID и проверь, что это:
ps -o pid,ppid,cmd -p <PID>— команда, родитель, не системная ли служба. - Останавливай по PID:
kill <PID>(при упорстве —kill -9); если это служба — лучшеsystemctl stop. - Проверяй результат по кнопке «Проверить».
Всё нужное уже установлено. Интернет на машине отсутствует — и не понадобится.
Подсказки
Подсказка 1
Открой top и посмотри верх по %CPU — там будет процесс с ~100%. Запиши его PID и имя.
Альтернатива без интерактива: ps aux --sort=-%cpu | head.
Подсказка 2
Убедись, что это «пожиратель», а не нужная служба: ps -o pid,ppid,cmd -p <PID> —
посмотри, кто его породил и что за команда.
Подсказка 3
Останови его: kill <PID> (если не реагирует — kill -9 <PID>). Если процесс
принадлежит службе — sudo systemctl stop <unit>. Проверь, что нагрузка спала:
uptime (load average) и top.
Поднимет вашу личную эфемерную Linux-ВМ для задания — обычно пара секунд. После работы её можно остановить.