Зависания при 100% CPU — пошаговая инструкция. Решение проблем с зависаниями системы при высокой нагрузке на процессор.
Проблема: При 100% CPU и нехватке RAM система активно пишет в swap. Диск не успевает — всё «висит».
Решение:
vm.swappiness = 10
vm.dirty_ratio = 20 vm.dirty_background_ratio = 5
kernel.sched_autogroup_enabled = 0
3. Примени настройки:
```bash
sudo sysctl --system
Проблема: Одна тяжёлая задача (сборка, браузер) забирает все ядра — мышь и окна не реагируют.
Решение:
kernel.sched_autogroup_enabled=0). Ничего дополнительно не делай, если шаг 1 выполнен.nano ~/.bashrc
export MAKEFLAGS=-j2
source ~/.bashrc
Теперь make по умолчанию будет использовать 2 потока, остальные — для системы и интерфейса.
Проблема: Тяжёлая программа конкурирует с рабочим столом за CPU на равных — всё лагает.
Решение:
nice:
nice -n 10 make -j2
или, например:
nice -n 10 your_heavy_script
Проблема: Даже после шагов 1–3 при 100% CPU интерфейс иногда «залипает».
Решение:
sudo pacman -S linux-zen
zen.Дальше система будет загружаться с zen. Откат: при загрузке снова выбрать обычное ядро Arch Linux.
Проблема: При полном зависании приходится держать кнопку питания — хочется автоматическую перезагрузку.
Решение:
sudo nano /etc/sysctl.d/99-watchdog-panic.conf
kernel.softlockup_panic = 1
kernel.panic = 10
sudo sysctl --system
При срабатывании детектора зависания ядра система сама уйдёт в panic и через 10 секунд перезагрузится.
| Шаг | Действие | Обязательно? |
|---|---|---|
| 1 | Скопировать и применить 99-arch-freeze-mitigation.conf |
Да |
| 2 | Добавить MAKEFLAGS=-j2 в ~/.bashrc |
Рекомендуется |
| 3 | Запускать тяжёлые задачи через nice -n 10 ... |
По ситуации |
| 4 | Установить и загружаться с linux-zen | По желанию |
| 5 | Включить softlockup_panic для автоперезагрузки | По желанию |
После Шагов 1 и 2 уже должно стать заметно реже «зависать». Остальное — по необходимости.
Комментарии