Управление процессами в GNOME с помощью System Monitor

Linux хорошо справляется с многозадачностью: процесс — это запущенная программа, использующая ресурсы компьютера. В этом руководстве подробно показано, как управлять процессами из графического интерфейса с помощью System Monitor (GNOME), какие альтернативы есть в командной строке и как безопасно менять приоритеты и завершать проблемные процессы.
Список процессов в System Monitor
Чтобы запустить System Monitor, нажмите клавишу Super (Windows), введите «System Monitor» в поле поиска и нажмите Enter. Можно также запустить приложение из терминала:
gnome-system-monitorОкно System Monitor по умолчанию показывает вкладку «Ресурсы» на большинстве дистрибутивов, поэтому переключитесь на вкладку «Процессы», чтобы увидеть список.
Что показывает список:
- Имя процесса и командная строка.
- Пользователь, от имени которого запущен процесс.
- PID (идентификатор процесса) — уникальный номер инстанса.
- Использование CPU и памяти (RAM).
- Чтение/запись диска.
- Приоритет (ниже число — выше приоритет).
По умолчанию видны процессы вашего пользователя. Чтобы показать процессы всех пользователей, откройте меню (кнопка с тремя полосками или «Меню») и выберите переключатель «Все процессы».
Управление процессами через System Monitor
Если процесс потребляет слишком много ресурсов или ведёт себя некорректно, System Monitor предоставляет ряд действий в контекстном меню (правый клик по строке процесса).
Основные действия и что они делают:
- Stop — приостанавливает выполнение процесса (посылает SIGSTOP).
- Continue — возобновляет приостановленный процесс (SIGCONT).
- End — аккуратно завершает процесс (посылает SIGTERM, сигнал 15), приложение получает шанс завершиться корректно.
- Kill — немедленное принудительное завершение процесса (SIGKILL, сигнал 9), без шанса на корректное завершение.
Примечание: SIGTERM (15) — вежливый запрос на завершение; SIGKILL (9) — немедленное разрушение процесса.
Если процесс стал «зомби» (статус Z или defunct), его нельзя убить непосредственно — нужно разобраться с родительским процессом или перезапустить сервис/процесс-родитель. В System Monitor зомби отображаются с пометкой, но чтобы устранить их, обычно перезапускают родителя или сервисы.
Команды из терминала для тех же действий (альтернатива GUI):
# корректное завершение
kill -15
# принудительное
kill -9
# завершить все процессы с именем
killall <имя_процесса>
# завершить по совпадению командной строки
pkill -f '<паттерн>'
# найти зомби
ps aux | awk '$8=="Z" {print $0}' Изменение приоритета процесса
Приоритет процесса (нисе-число — выше приоритет) задаётся в диапазоне от -20 до +19. Большинство процессов имеют приоритет 0 (Normal).
В System Monitor:
- Правый клик по процессу → Change Priority.
- Выберите одну из предложенных ступеней или Custom и установите число слайдером.
Числовая интерпретация:
- -20 — наивысший приоритет (степень «реального времени» — осторожно).
- 0 — приоритет по умолчанию.
- +19 — наименьший приоритет (процесс уступает CPU другим задачам).
CLI-примеры с nice/renice:
# запустить команду с позитивной «вежливостью» (меньше CPU), например +10
nice -n 10 some-command
# изменить приоритет уже запущенного процесса (PID)
renice -n -5 -p Избегайте давать слишком высокий приоритет (-20) интерактивным процессам, это может сделать систему нечувствительной.
Альтернативные способы управления процессами (кратко)
- top — стандартный монитор процессов в терминале.
- htop — улучшенная версия с удобным интерфейсом и возможностью менять приоритет/убивать процессы через клавиши.
- ps aux — статический снимок процессов; удобно для скриптов.
- pstree — дерево процессов.
- systemctl — для управления системными сервисами (systemd).
- cgroups/systemd.slice — ограничение ресурсов на уровне группы.
Примеры:
top
htop
ps aux | grep -i nginx
systemctl status nginx.serviceПрактическое руководство (SOP) при высокой нагрузке CPU
- Откройте System Monitor или htop и отсортируйте по CPU.
- Определите процесс(ы) по имени и PID.
- Если это пользовательская ненужная задача — аккуратно завершите (End). Если не помогает — Kill.
- Если это системный сервис — проверьте systemctl status, затем перезапустите через systemctl restart
. - Если процесс генерирует зомби — найдите родителя и перезапустите его.
- При необходимости уменьшите приоритет через Change Priority или renice.
- После действий контролируйте систему 5–10 минут.
Критерии приёмки
- Нагрузка на CPU и/или RAM возвращается к ожидаемым уровням.
- Система остаётся отзывчивой для пользователя.
- Жертвенные процессы корректно завершены или перезапущены.
Ролевые чек-листы
Для домашнего пользователя:
- Открыть System Monitor.
- Найти процесс по имени/CPU.
- Попробовать End; если не помогает — Kill.
- Перезагрузить приложение при необходимости.
Для администратора сервера (когда есть GUI на рабочей станции для диагностики):
- Собрать вывод ps/top/htop и логи сервиса.
- Проверить systemctl и journalctl для ошибок.
- Перезапустить сервис, ограничить ресурсами через systemd или cgroups.
- Документировать инцидент и, при повторяемости, внедрить лимиты.
Когда GUI не помогает — что делать
- На headless-сервере используйте ps, top, htop, systemctl и journalctl.
- Если процесс не умирает даже после SIGKILL, проверьте, не выполняется ли он в пространстве ядра или не имеет ли он зависимых процессов/драйверов.
- Для сложных утечек памяти и дедлоков используйте профайлеры, трассировки (strace, perf) и дампы.
Ментальные модели и эвристики
- «Низкое число = высокий приоритет»: помните про диапазон -20..+19.
- SIGTERM → SIGKILL: всегда пробуйте сначала закончить аккуратно (SIGTERM), затем принудительно (SIGKILL).
- Зомби ≠ потребление CPU: зомби не используют CPU, но занимают таблицу процессов (PID).
- Принцип минимальной привилегии: не убивайте процессы от имени root без нужды.
Факто-бокс
- Диапазон приоритетов (nice): -20..+19.
- SIGTERM = 15, SIGKILL = 9.
- PID уникален для каждого запущенного экземпляра процесса.
Глоссарий (одной строкой)
- Процесс — запущенная программа, использующая ресурсы.
- PID — уникальный идентификатор процесса.
- Зомби — завершённый процесс, чей родитель ещё не собрал статус.
- SIGTERM — вежливый запрос на завершение процесса (15).
- SIGKILL — принудительное немедленное завершение (9).
- nice/renice — инструменты для управления приоритетом.
Дерево принятия решений (кратко)
flowchart TD
A[Процесс грузит CPU] --> B{Можно ли перезапустить сервис?}
B -- Да --> C[Перезапустить сервис через systemctl]
B -- Нет --> D{Это пользовательский процесс?}
D -- Да --> E[Попробовать End → если не помогает Kill]
D -- Нет --> F[Проверить логи и перезапустить родителя]
E --> G[Снизить приоритет/renice]
F --> G
G --> H[Наблюдать 5–10 минут]
H --> I{Проблема решена?}
I -- Да --> J[Документировать и закрыть инцидент]
I -- Нет --> K[Провести профайлинг/отладку]Безопасность и приватность
- Действия над процессами могут требовать прав root.
- Не завершавайте процессы без понимания их функций (можно потерять данные).
- На рабочей станции избегайте передачи логов с личной информацией без фильтрации.
Часто задаваемые вопросы
Q: Как найти процесс, который постоянно перезапускается?
A: Проверьте systemd (systemctl status
Q: Можно ли убить процесс, если он принадлежит другому пользователю?
A: Нужны права суперпользователя (root) или sudo для завершения процессов других пользователей.
Q: Почему процесс не завершается после SIGKILL?
A: Возможные причины: процесс в ядровом режиме, зависимость от драйвера, или он уже стал зомби (тогда надо действовать на родителя).
Краткое резюме
System Monitor удобен для быстрых GUI-операций: просмотр процессов, изменение приоритета и отправка сигналов. Для глубокого анализа и автоматизации используйте командную строку (ps/top/htop, nice, renice, kill, systemctl). Всегда начинайте с аккуратного завершения (SIGTERM) и применяйте принудительное (SIGKILL) как крайний шаг.
Похожие материалы
Как устроить идеальную вечеринку для просмотра ТВ
Как распаковать несколько RAR‑файлов сразу
Приватный просмотр в Linux: как и зачем
Windows 11 не видит iPod — способы исправить
PS5: как настроить игровые пресеты