Управление рабочей станцией при сборке и перегреве
Linux-контроллер сохраняет рабочую станцию пригодной для работы, когда конкурируют компиляция, обычная нагрузка и перегрев.
Что нужно рабочей станции
Температура, состояние вентиляторов, нехватка ресурсов и текущая нагрузка читаются вместе до того, как подвисание или шум станут единственным сигналом.
Какой режим важнее
Тихий простой, быстрая компиляция, безопасная для рабочего стола сборка и защита от перегрева задают разные лимиты CPU, охлаждения и ресурсов.
Когда возвращается обычная работа
Тепловая защита снимается только после новых безопасных показаний; ошибка самого контроллера остаётся видимой и не скрывается автоматическим сбросом.
01
Почему одной настройки рабочей станции недостаточно
Работа с AI создаёт всплески тяжёлой Rust-компиляции, браузерной автоматизации, обработки медиа и долгих локальных запусков моделей. Рабочую станцию нельзя один раз настроить и забыть.
02
Какие условия конкурируют
- Конфликт приоритетов: Одна и та же машина должна быстро собирать код во время компиляции и оставаться тихой и прохладной в простое.
- Проблема видна слишком поздно: Подвисание и резкий шум вентиляторов — поздние симптомы; режим и причина должны быть видны раньше.
- Защита должна восстанавливаться: Тепловая защита должна быть строгой, но временный перегрев не должен навсегда отключать обычное управление.
- Конкуренция ресурсов: Компиляция, активная работа за компьютером и фоновые AI-запуски требуют явных лимитов ресурсов вместо ручного контроля процессов.
03
Как контроллер принимает решение
СОСТОЯНИЕ МАШИНЫ
температура | вентиляторы | нехватка ресурсов | текущая нагрузка
↓
РЕЖИМ
тихий простой | быстрая компиляция | ограниченная сборка | защита от перегрева
↓
УПРАВЛЕНИЕ
политика CPU | PWM вентиляторов | лимиты CPU и памяти
↓
СТАТУС
текущий режим | причина | показания | восстановление04
Что остаётся видимым
быстрый режим
Тяжёлая сборка
запас ресурсов
Рабочий стол
возврат после охлаждения
Защита от перегрева
назван и объяснён
Текущий режим
systemd watchdog
Надзор
регрессионные тесты
Проверка
05
Почему режимы сборки разделены
Проблема
Быстрые Rust-сборки и отзывчивый рабочий стол конкурируют за CPU, память, IO и температурный запас.
Решение
Разделены свободный режим компиляции и ограниченный режим сборки. Ограниченный режим оставляет CPU и память рабочему столу, а быстрый сначала использует доступное охлаждение и только потом замедляет компилятор.
Почему не этот вариант
Ручное изменение приоритета и остановка процессов реагируют слишком поздно, плохо повторяются и исчезают до следующего AI-запуска.
06
Как снимается тепловая защита
Проблема
Критическая температура должна защищать железо, но возвращаться к обычному управлению после свежего сигнала, что охлаждение сработало.
Решение
При критической температуре включается максимальное охлаждение. Обычный режим возвращается только после устойчивых безопасных показаний; ошибки самого управления остаются заблокированными для разбора.
07
Реализация
Ядро
Rust 2024, serde, toml, tracing
Linux-контроль
sysfs, cgroups, CPU governor, EPP
Надёжность
systemd notify, watchdog, явные защитные состояния
Проверка
эмуляция sysfs, тесты вентиляторов и режимов сборки
08
Что видно в работе системы
Состояние машины без догадок
Текущий режим, причина, температура и лимиты читаются напрямую; разбор не начинается с догадки по шуму или подвисанию.
Возврат после охлаждения
Временная тепловая защита снимается только после безопасных показаний, а ошибки управления не прячутся автоматическим повтором.
Железо и нагрузка меняются вместе
Политика CPU, охлаждение, лимиты ресурсов и надзор systemd реагируют на одно именованное состояние машины.
Быстрая сборка без потери рабочего стола
Компиляция может агрессивно использовать машину, а активная работа сохраняет достаточно ресурсов и остаётся отзывчивой.