О том, как один зависший процесс превратил ноутбук в обогреватель и почему мы склонны искать виноватых среди тех, кого запустили сами.
Ноутбук греется. Вентиляторы вышли на режим «взлёт истребителя», хотя в доке открыт только текстовый редактор и пара вкладок с документацией. Корпус обжигает пальцы, батарея тает на глазах, а система при этом чувствует себя странно: интерфейс подтормаживает, уведомления всплывают с заметным лагом, будто macOS пытается продраться сквозь слой густого киселя.
Самое раздражающее в этой ситуации - отсутствие явного виновника. Нет открытого рендера 4K-видео, нет запущенного компилятора или тяжёлого Docker-контейнера. Просто сухой, беспощадный жар из радиаторов при нулевой нагрузке.
Охота на иконки
Первым делом - «Мониторинг системы». Логика простая: ищем приложение, которое сошло с ума. В топе по очереди прошёлся весь софт, запущенный за последние полчаса: браузер, мессенджеры, терминалы. Чисто. Да, WindowServer потреблял прилично, но для набора открытых окон с анимациями это норма.
Потом гипотеза сместилась на «железо» или фоновое обновление системы. Индексы Spotlight - молчат. Сетевая активность - трафика почти нет.
И вот она, классическая ловушка: искать проблему среди приложений - тех сущностей, что имеют иконку в доке и которых сам сознательно «пригласил» в систему. Уверенность была простая: раз ничего тяжёлого не запускал - греть процессор некому. Все приборы рапортовали «чисто», а ноутбук продолжал прожигать дыру в столе.
Вопрос про то, что крутится само
Когда диагностика по иконкам зашла в тупик, симптомы отправились ИИ - не чтобы он «починил», а чтобы сменить угол обзора. Описание как есть: жар, лаг уведомлений, отсутствие тяжёлого софта в топе процессов.
Ответ был коротким и отрезвляющим:
«А ты смотрел не на приложения, а на системных демонов? Проверь NotificationCenter. Если он зациклился при рендере виджета, ты не увидишь этого как "тяжёлую программу", но одно ядро будет выжжено в ноль».
Тот самый тупой и точный вопрос. В голове давно жило удобное разделение: «пользовательский софт» отдельно, «системная среда» отдельно. Система была константой - тем, что просто работает. А ведь её компоненты - такие же куски кода с такими же багами, как любой сторонний плагин.
Одна строка в терминале:
ps aux | sort -rk3
И вот он. NotificationCenter. Потребление CPU - почти 100% одного ядра. В графе TIME - чудовищное число часов. Процесс не просто «подъедал» ресурсы: он висел в бесконечном цикле рендера виджета (runaway render loop) все 19 суток, что длился аптайм.
Два killall и минута тишины
Подтвердить догадку помог системный sample - посмотреть, на чём именно виснет поток. Результат сошёлся с теорией: тяжёлые стеки в com.apple.chrono.renderer и SwiftUI. По сути, какой-то виджет в панели уведомлений решил, что ему нужно перерисовываться миллион раз в секунду, и затянул за собой весь процесс отрисовки баннеров.
Лечение оказалось примитивным. Ни переустановки системы, ни охоты за «кривым» виджетом. Достаточно убить зависший процесс - система перезапустит его с чистого листа.
killall NotificationCenter
killall chronod
Результат мгновенный. Load average рухнул с 7.8 до 3.2. Вентиляторы затихли через минуту, а уведомления снова стали всплывать без задержки. За 19 дней аптайма в системе накопился критический «затык», который просто не мог рассосаться сам.
Иерархия, которой нет
Эта история не про баги macOS и даже не про эффективность killall. Она про гигиену мышления.
Мы часто выстраиваем в голове иерархию: «я управляю программами, а программы работают на ОС». И когда что-то ломается, ошибку ищем на своём уровне управления - проверяем то, что запустили сами, игнорируя фундамент, на котором всё стоит.
Ирония в том, что ИИ помог здесь не знанием кода Apple, а тем, что у него нет моего «пользовательского снобизма». Для машины нет разницы между сторонним приложением и системным демоном - это просто процессы в таблице.
Всё упирается в одно признание: допущение «система в порядке, значит виноват софт» - всего лишь привычка, которая мешает видеть реальность. Иногда самое верное решение - перестать доверять собственной уверенности в том, как всё устроено.
