Новый MacBook Pro перегревается и троттлит. Нашел бюджетное решение
При помощи настройки вентиляторов MacBook Pro мне удалось заставить процессор i5-1038NG7 работать на 200 МГц быстрее. Это увеличило его производительность на 7%. Рассказываю, как это сделать.
Недавно я купил MacBook Pro 13 2020-года выпуска. И в первый же день заметил, что температура процессора часто подскакивает до 100°С и MacBook перегревается. При этом, оба его внутренних вентилятора крутятся всего на треть от максимальной скорости.
Так происходит потому, что для Apple тишина важнее, чем температура внутренних коспонентов. Это приводит к замедлению работы процессора — троттлингу. При сильном троттлинге MacBook может даже начать тормозить.
⚠️ Обратите внимание, что в этом посте я пытаюсь выжать максимум производительности из нового MacBook. Если вашему ноутбуку уже несколько лет, он греется и шумит, вам стоит начать изучение темы с другой статьи. Возможно источник проблем — сама macOS и установленный софт.
Что такое троттлинг
Температурный троттлинг, это способ защиты процессора от перегрева и выхода из строя. Как только процессор нагревается до своей критической температуры, система снижает потребляемую им мощность, а значит и частоту его работы.
В спецификациях процессоров Intel маркирует критическую температуру как TJUNCTION. У процессора i5-1038NG7 это температура кипения воды — 100°С.
MacBook Pro не стесняется работать на пределе температуры TJUNCTION. Если температура продолжает расти, то система понижает частоту процессора, пока температура не опустится до приемлемых 100°С.
Если MacBook’у уже несколько лет, то с большой вероятностью его система охлаждения покрыта пылью, а термопаста пересохла. В этом случае тепло от процессора отводится еще хуже, он начинает сильно троттлить, а MacBook — тормозить.
Давайте проверим, насколько сильно троттлит мой MacBook, когда перегревается. Базовая частота процессора Intel i5-1038NG7 — 2 ГГц, а максимальная частота Turbo Boost на все ядра — 3.3 ГГц.
Вот результаты одного прохода Cinebench R20 в утилите мониторинга Intel Power Gadget.
На графиках видно, что средняя частота процессора 2.9 ГГц. А значит он троттлит. При этом, в первой половине теста, пока вентиляторы не крутились на максимум, частота снижалась до 2.7 ГГц. Только через две минуты она начала приближаться к 3 ГГц.
Как я уже отметил выше, i5-1038NG7 может стабильно работать с частотой 3.3 ГГц на все ядра. А значит из-за троттлинга я теряю около 400 МГц или 12% теоретической производительности.
Как убрать троттлинг процессора
Потерянные 400 МГц можно вернуть, если улучшить охлаждение. И самое простое, что можно сделать — привести в чувства вентиляторы системы охлаждения. То есть, убрать задержки и заставить вентиляторы быстрее реагировать на изменение температуры.
Чего точно делать не надо, так это покупать уродливые охлаждающие подставки. С них как с козла молока.
Для настройки вентиляторов я буду использовать TG Pro.
TG Pro
Утилита TG Pro визуализирует показатели внутренних сенсоров. А MacBook Pro ими просто напичкан: в моей модели их нашлось аж 26. Из интересного, отмечу датчики температуры выдуваемого воздуха и температуры левого и правого радиаторов.
👉 TG Pro: 7-дневная пробная версия, купить за 10$
TG Pro умеет регулировать скорость вращения вентиляторов, в зависимости от общей температуры процессора или его ядер.
Я изменил правила вращения вентиляторов по такой схеме: при повышении температуры самого горячего ядра на 10°С, скорость вентиляторов увеличивается на 10%. При этом, до 40°С вентиляторы всегда крутятся на 30%. Правило сработает, если температура будет держаться на одном из уровней более двух секунд подряд.
Температуры при лёгкой работе в помещении летом (iA Writer, Sketch, Safari) держаться в районе 40-50°С. При этом, скорость вращения вентилятора колеблется в районе 2900 оборотов в минуту.
В моём MacBook два радиатора и вентилятора. Они работают очень тихо, вплоть до 4000 оборотов. И при максимальной скорости в 6800 шум может резать слух лишь ночью в полной тишине. Днём максимальные обороты меня не отвлекают.
В моделях MacBook Pro с одним вентилятором, скорость его вращения может доходить до 8000 оборотов. Поэтому алгоритм вращения и задержки срабатывания вам нужно подобрать самостоятельно.
Как я тестировал: софт и подготовка macOS
Проблема стандартного профиля в том, что он раскручивает вентиляторы слишком медленно. В конечном итоге это происходит, и радиаторы получают свой заслуженный обдув.
Если выгода от нового профиля и будет, то в первые минуты максимальной нагрузки. И это как раз типичные задачи: экспорт или конвертация фотографий, видео, запуск проекта в Xcode и т.п.
Поэтому, для теста я использую пакет Cinebench R20 и Xcode, который будет собирать с нуля проект моего клавиатурного тренажёра KeyKey. В первом случае, продолжительность нагрузки чуть больше двух минут. Во втором — сорок секунд.
Температуру и скорость вентиляторов буду замерять при помощи TG Pro. Частоту процессора — через Intel Power Gadget. Обе эти программы позволяют записывать логи в текстовый файл, так что полученные данные максимально точные.
Тестировал я в чистом аккаунте, без сторонних программ и сервисов, которые могли бы забирать процессорное время. iCloud также отключён. Температура в помещении 25°С.
Результаты тестирования
Начну с плохих новостей. Оказалось, что мне попалась не очень удачная модель MacBook Pro. Я сразу заметил, что температура по ядрам не равномерна. Ядра № 2 и № 4 быстро упираются в 100°С, а ядра № 1 и № 3 очень редко когда доходят до 90°С. В основном они держаться на 85°С.
Скорее всего, так происходит потому, что при сборке компьютера какая-то китайская дама неравномерно нанесла термопасту на процессор. Либо там остались воздушные пузыри. Это мы узнаем на следующей неделе, когда я его разберу.
Из-за перегрева двух ядер мой процессор начинает троттлить раньше времени, и два «нормальных» ядра немного не дорабатывают. Это подтверждается более низкой производительностью в синтетических тестах — мой MBP показывает результаты хуже, чем аналогичные модели у других людей.
Тем не менее, MacBook хорошо отреагировал на изменение скорости вращения вентиляторов.
Результаты тестов в Cinebench R20
Cinebench R20 рендерит небольшую по времени сцену, хорошо нагружая все ядра процессора.
Для начала, сравним скорость вращения вентиляторов до и после применения TG Pro.
На графике хорошо видно, что, когда вентиляторами управляет macOS — их скорость зависит исключительно от времени, которое процессор проводит под нагрузкой. Похоже, что его температура вообще ни на что не влияет.
До 100°С процессор разогревается уже на третьей секунде теста Cinebench, а вентиляторы включаются только на шестой. Чтобы раскрутится на полную им понадобилось почти две минуты 😱
С ручным профилем от TG Pro дела обстоят куда лучше. Вентиляторы крутились на 2800 оборотах ещё до начала теста, и раскуривается до полных оборотов уже с 24-й секунды, что положительно сказалось на частоте его работы.
В первую минуту теста, разница в частотах процессора доходила до 300–350 МГц. Частоты сравнялись лишь через две минуты, когда профиль macOS наконец-то раскрутил вентиляторы на полную.
Как видите, эффект от ручного профиля хорошо заметен как раз при коротких пиковых нагрузках, которые занимают меньше минуты.
Результаты тестов в Xcode
В Xcode я делал «Build» нашего клавиатурного тренажёра KeyKey. Результат в секундах брал из логов. Время билда не всегда постоянное, поэтому в таблице ниже я привёл усреднённое время пяти билдов. Перед каждым проходом я делал Product▸Clean Build Folder.
С системным профилем вентиляторы раскрутились до 3000 оборотов лишь под конец билда. У TG Pro это стандартные обороты в простое, и он достаточно быстро разогнал вентиляторы до 6800.
Что касается частоты, то с TG Pro она была стабильна и держалась на уровне 3.1 ГГц. С системным профилем частота постоянно падала по мере нагрева внутренних компонентов. Как результат — средняя частота на 220 МГц ниже, а билд в среднем происходил на 3 секунды дольше.
🍀 Выводы
Утилита TG Pro оказалась неожиданно полезной. Благодаря её логам я узнал несколько интересных моментов:
- Скорость вращения вентиляторов MacBook Pro зависят только от времени, но не от температуры. Во всяком случае в моделях MBP 2020 года;
- В моей модели разбор температур по ядрам доходит до 20°С. Это говорит о плохо намазанной термопасте между процессором и радиатором охлаждения. Из-за этого МасBook работает медленнее, чем должен.
- Лучший обдув повысил частоту на 200 МГц, а производительность — на 7%;
- Процессор всё равно продолжает разогреваться до 100°С. Узким горлышком уже выступает термоинтерфейс между кристаллом процессора и радиатором.
👉 TG Pro: 7-дневная пробная версия, купить за 10$
Результат хороший, но в моём случае — не идеальный. Из-за плохого термоинтерфейса и сильного разброса температур по ядрам процессор все ещё не может работать на максимальной частоте в 3.3 ГГц. Процессор MacBook все еще нагревается до 100°С.
Так что в следующем посте я расскажу, как я менял термопасту в MacBook Pro, и как это улучшило его температуры.
📸 Бэкстейдж происходящего я публикую в Телеграмм, подписывайтесь