Как устранить высокую загрузку CPU в Linux

Содержание
- Найдите источник проблемы
- Понизьте приоритет или завершите процесс
- Обновите систему и пакеты
- Удалите и переустановите приложение
- Откат к предыдущей версии
- Используйте альтернативное приложение
- Оптимизируйте настройки питания
- Установите лёгкое окружение рабочего стола
- Исправление проблем с критичными сервисами
- Смените ядро
- Быстрый план действий (SOP)
- Чек-листы для пользователей и администраторов
- Диагностическое дерево
- Часто задаваемые вопросы
1. Найдите источник проблемы
Понимание того, что именно «съедает» CPU, — самый важный шаг. Даже самый быстрый процессор можно полностью загрузить одним плохо работающим приложением.
Как определить источник:
- Откройте System Monitor (Графический монитор системы) или терминал и запустите top.
- В top процессы по умолчанию сортируются по использованию CPU; самый жрущий процесс будет вверху.
Откройте терминал и выполните:
top
На что обратить внимание:
- Процесс, который постоянно держит высокий %CPU (особенно в топ‑5) — это подозреваемый виновник.
- Посмотрите поле COMMAND/NAME, PID и %CPU; запишите PID.
- Оцените: связан ли процесс с пользователем (GUI-приложение) или с системным сервисом.
Важно: если процесс запускается повторно и возвращается в тот же ненормальный режим — это не временная пиковая нагрузка, а скорее баг в приложении или конфликт драйверов.
2. Понизьте приоритет или завершите процесс
Если процесс не критичен, временно снизьте его влияние на систему или завершите его.
Пара терминальных подходов:
- renice: изменяет приоритет процесса, снижая его «жадность» к CPU.
- kill: останавливает процесс (мягко или принудительно).
В top:
- Нажмите r, затем введите PID проблемного процесса.
- Попробуйте значения +5, затем +10, +15 и +19 (max) — чем выше число, тем ниже приоритет.
Если приложение зависло и не отвечает:
- В top нажмите k, введите PID и Enter — процесс будет завершён.
Совет: вместо немедленного kill используйте сначала SIGSTOP/SIGCONT, чтобы приостановить и продолжить работу без потери состояния:
- Приостановка: kill -STOP
- Продолжение: kill -CONT
Это полезно, если процесс временно нужен, но мешает другим задачам.
3. Обновите систему и пакеты
Если проблема повторяется при каждом запуске приложения, обновление может включать исправление бага.
В терминале выполните:
sudo apt update &&sudo apt -y upgrade
После обновления перезапустите проблемное приложение и проверьте поведение.
Примечание: на нестабильных или кастомных репозиториях обновления могут приносить несовместимости — перед крупным обновлением сделайте резервную копию.
4. Удалите и переустановите приложение
Иногда виновата испорченная конфигурация. Полная очистка и повторная установка вернут программу в исходное состояние.
Перед началом: сделайте резервную копию конфигурационных файлов (обычно в ~/.config или /etc).
Удаление и очистка:
sudo apt purge APP_NAME
sudo apt autoremove
Переустановка:
sudo apt update
sudo apt install APP_NAME
Если проблема исчезла после переустановки — значит, виновата была конфигурация или повреждённые файлы.
5. Откат к предыдущей версии
Если обновление приложения привело к чрезмерному использованию CPU, безопасным решением может быть временный откат на прошлую версию.
Посмотреть доступные версии:
sudo apt policy APP_NAMEЗапишите версию, на которую хотите откатиться. Рекомендуется предварительно полностью удалить текущую версию (purge), чтобы избежать конфликтов конфигурации.
Установка конкретной версии:
sudo apt installAPP_NAME=VERSION
Важно: давайте знать разработчикам о баге — откат хорош как временная мера.
6. Используйте альтернативное приложение
В мире Linux зачастую есть несколько программ для одной задачи. Замена ресурсоёмкого приложения на лёгкую альтернативу — быстрый и эффективный путь.
Пример: LibreOffice Writer может быть тяжёлым из‑за зависимостей. Альтернатива — AbiWord.
Установка AbiWord (Ubuntu):
sudo apt install abiword
Подумайте о выборе приложений по принципу «нужная функциональность — минимальные зависимости». В ряде случаев web‑версии или терминальные утилиты потребляют меньше ресурсов.
7. Оптимизируйте настройки питания
На ноутбуках политика энергопотребления может намеренно ограничивать частоту CPU, что приводит к постоянным «пикам» загрузки. Правильный профиль питания помогает системе распределять ресурсы адекватно.
В Ubuntu откройте настройки: нажмите Win, введите «settings» и перейдите в раздел Power.

Выберите раздел Power:

В категории Power Mode выберите Balanced или High Performance в зависимости от задачи.

После изменения профиля рекомендуется перезагрузить систему.
Совет: для серверов и настольных систем используйте governor «performance», а для портативных — «ondemand»/«powersave» в зависимости от необходимого режима работы.
8. Установите лёгкое окружение рабочего стола
Если перегружаетесь графическим окружением (GNOME, KDE), переход на более лёгкий DE снизит постоянную фоновую нагрузку.
LXQt — одна из лёгких сред, ориентированная на минимальное потребление ресурсов.
Установка LXQt (Ubuntu):
sudo apt install lxqt
Выйдите из сессии, на экране входа выберите иконку шестерёнки и выберите LXQt, затем войдите.

Если вы часто работаете на слабом железе, рекомендуется использовать LXQt, XFCE или i3wm вместо тяжёлых окружений.
9. Исправление проблем с критичными сервисами
Что делать, если процесс, нагружающий CPU, — это systemd, Xorg или другой системный сервис?
Systemd:
- Отключите ненужные сервисы: sudo systemctl disable –now SERVICE_NAME
- Отключите неиспользуемые устройства (игровые контроллеры, принтеры), которые вызывают опросы.
Отключение входных устройств (Ubuntu и совместимые системы):
xinput
Отключение устройства:
xinput --disable DEVICE_IDЧтобы снова включить, замените disable на enable.
Модули ядра (черный список):
- Посмотрите lsmod, найдите проблемный модуль.
- Добавьте его в /etc/modprobe.d/blacklist.conf как:
blacklist MODULE_NAMEВ примере выше был приведён путь для редактирования, убедитесь, что используете ваш редактор и права root.
Xorg и драйверы GPU:
- Иногда compositor оконного менеджера нагружает CPU из‑за несовместимости драйверов.
- Попробуйте отключить композитинг в настройках WM.
- Для GPU: попробуйте сменить версию проприетарного драйвера или перейти на open‑source драйвер (или наоборот).
Важно: смена драйверов требует осторожности — заранее подготовьте способ отката, особенно если вы работаете удалённо.
10. Смените ядро
Хотя случаи, когда именно ядро вызывает высокую загрузку CPU, редки, иногда ядро или его конфигурация влияют на расписание задач и обработку прерываний.
Популярный альтернативный ядро — Liquorix. Чтобы добавить репозиторий (пример для Ubuntu):
sudo add-apt-repository ppa:damentz/liquorix &&sudoapt-get update
Установка пакета ядра:
sudoapt-get install linux-image-liquorix-amd64 linux-headers-liquorix-amd64Перезагрузите систему, выберите новое ядро в меню GRUB (если необходимо) и проверьте поведение системы.
Критерии принятия при смене ядра:
- Система загружается без ошибок.
- Проблемный сценарий с высокой загрузкой CPU воспроизводится/исчезает.
- Драйверы устройств работают корректно.
Если после смены ядра появились проблемы, вернитесь к предыдущему ядру через меню GRUB и удалите проблемное ядро.
Быстрый план действий (SOP)
- Посмотреть top / System Monitor.
- Если найден процесс — renice или kill/STOP.
- Обновить систему: sudo apt update && sudo apt -y upgrade.
- Если не помогло — purge + reinstall.
- Если недавно обновляли — проверить sudo apt policy и откатить.
- Рассмотреть альтернативу приложению или лёгкое DE.
- Для системных процессов: проверить xinput, lsmod, blacklist.
- В крайнем случае сменить драйверы GPU или ядро.
Короткая память — чек-лист для экстренных случаев:
- Есть доступ к терминалу и sudo.
- Сохранены логи (top, dmesg, journalctl).
- Сделан бэкап конфигураций перед purge.
Чек-листы для разных ролей
Пользователь (настольный):
- Найти процесс в top/Monitor.
- Попробовать renice + приостановку (kill -STOP / -CONT).
- Обновить приложение и систему.
- Переустановить приложение.
- Временно переключиться на лёгкое приложение или окружение.
Системный администратор:
- Собрать данные: top, ps aux, journalctl -xe, dmesg, vmstat.
- Проверить I/O и swap: iostat, free -m, swapon -s.
- Проанализировать драйверы: lsmod, lspci -k.
- Выключить подозрительные модули через blacklist и перезагрузить.
- При необходимости протестировать другое ядро и версии драйверов.
Диагностическое дерево (Mermaid)
flowchart TD
A[Проблемы с производительностью] --> B{Высокая загрузка CPU?}
B -- Да --> C[Запустить top / System Monitor]
C --> D{Процесс пользовательский?}
D -- Да --> E[Попробовать renice/kill/STOP]
D -- Нет --> F[Проверить systemd, драйверы, модули]
E --> G{Проблема решена?}
F --> G
G -- Да --> H[Мониторить 24–48 часов]
G -- Нет --> I[Обновить / Переустановить / Откатить версию]
I --> J{Решено?}
J -- Да --> H
J -- Нет --> K[Сменить драйверы GPU / Сменить ядро]
K --> L[Тест и откат при проблемах]Когда описанные методы не помогут — типичные случаи и контрпримеры
- Аппаратная неисправность (например, короткие прерывания от неисправного устройства) может создавать постоянную нагрузку, которую не исправит никакое ПО.
- Постоянные прерывания (IRQ) часто проявляются как высокая нагрузка в системных процессах; их нужно анализировать через dmesg и /proc/interrupts.
- Если процесс — malware/криптомайнер, стандартные методы (renice) лишь временно скроют проблему; необходима полная проверка безопасности и удаление угрозы.
Дополнительные рекомендации и heuristics (ментальные модели)
- Правило 5 минут: если процесс держит высокую загрузку более 5 минут и не делает ожидаемую полезную работу — это аномалия.
- Разделяй и властвуй: сначала изолируйте проблему (user vs system), затем действуйте.
- Минимальный инвазивный шаг: renice/STOP. Средний — переустановка. Максимальный — смена ядра или драйверов.
Критерии приёмки
- CPU стабильно < 10–20% в простое на ноутбуке/рабочем столе (зависит от нагрузки).
- После фикса процесс не выходит на прежний высокий процент в течение 24 часов при сопоставимой нагрузке.
- Система не теряет функциональность, а периферия работает корректно.
1‑строчная глоссарий
- renice — утилита/операция для изменения приоритета процесса.
- kill -STOP / -CONT — приостановка и возобновление процесса.
- compositor — компонент оконного менеджера, отвечающий за визуальные эффекты и композитинг.
- governor — политика управления частотой CPU.
Итог
Если вы только начинаете: сначала найдите процесс и попробуйте простые меры (renice, kill -STOP, обновление). Если вы администратор — соберите логи и проверяйте драйверы и модули. Смена ядра и драйверов — крайняя мера; всегда планируйте откат.
Часто задаваемые вопросы
Можно ли снизить загрузку процесса без его принудительного завершения?
Да. Вместо kill используйте suspend: выполните kill -STOP
Как включить режим «High Performance» в Linux?
Можно установить governor производительности командой:
echo performance | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governorЭто заставит систему работать в более агрессивном режиме при использовании CPU, но на ноутбуке это существенно снизит время работы от батареи. Вернуть более экономный режим можно командой:
echo powersave | sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governorМожно ли переустановить графические драйверы в Wayland?
По умолчанию Wayland использует встроенные драйверы ядра, и изменение драйверов обычно требует конфигурации и возможной перекомпиляции ядра. В большинстве случаев переустановка или смена драйверов для Wayland ограничена доступными пакетами в дистрибутиве.
Изображения: Unsplash. Все изменения и скриншоты — авторские.