встроенного способа увидеть, насколько горяч ваш Mac, нет
обновлено · автор Anton Shakirov
на Mac с Apple silicon температуры нет нигде в интерфейсе — ни в «Мониторинге системы», ни в «Информации о системе», ни в настройках. рецепты для «Терминала», которые вы найдёте, писались под Intel, и на машине M-серии они не отваливаются молча: их отвергают. но одну вещь система скажет вам бесплатно, и о ней почти никто не пишет.
что Mac показывает вместо температуры cpu
почему команда powermetrics не работает
рецепт, который все переписывают, — `sudo powermetrics --samplers smc`. на этой машине он не доходит даже до запроса пароля:
- powermetrics --samplers smc → «powermetrics: unrecognized sampler: smc». на Apple silicon такого сэмплера нет, это было интеловское.
- sysctl -a | grep -c therm → 0. ни одного ключа.
- ioreg датчики как раз перечисляет — десятки, с именами вроде PMU tdie и NAND CH0 temp — и ни по одному не отдаёт значения. чтобы их прочитать, нужны вызовы приватных фреймворков, а не команда.
поэтому честная формулировка сильнее, чем «встроенного показа нет»: числа не просто спрятаны от интерфейса, их не отдают и командной строке — ни под sudo, ни как-то ещё.
проверить тепловую нагрузку, ничего не устанавливая
вот часть, которой нет ни на одной странице из выдачи. macOS публикует уровень тепловой нагрузки, и прочитать его может любой пользователь — без sudo и без программ:
- notifyutil -g com.apple.system.thermalpressurelevel
- прочитайте число в конце строки: 0 — это норма.
- шкала названа в OSThermalNotification.h, который идёт вместе с Command Line Tools: nominal, moderate, heavy, trapping, sleeping.
это не температура, и у Apple так задумано: приложению сообщают состояние, а не число градусов. на практический вопрос — «машина сейчас под тепловой нагрузкой или нет» — это правильный ответ, и он ничего не стоит.
чего он не даёт — истории, предупреждения и чувства тренда. это одно показание, за которым надо сходить самому.
тот же сигнал в том виде, в каком его получают приложения, — поэтому и ни одна программа не покажет вам «настоящего» числа (страница английская): ProcessInfo.ThermalState
единственная температура, которую macOS назовёт
батарейная. `ioreg -rc AppleSmartBattery | grep Temperature` возвращает значение в сотых долях градуса — 3091 означает 30,91 °C. датчик настоящий и читается по-настоящему, только рассказывает он о батарее, а не о чипе.
а `pmset -g therm` существует, но на Apple silicon в простое печатает три строки «no thermal warning level has been recorded». он заполняется после теплового события, а не описывает происходящее.
как hop показывает температуру cpu и gpu
бесплатный ответ выше настоящий, и им стоит пользоваться: на вопрос «я сейчас перегреваюсь?» одна команда отвечает целиком. чего она не умеет — сказать, насколько, растёт ли это и было ли так весь день, и заметить вместо вас.
монитор hop держит нагрузку cpu и gpu вместе с их температурами в панели, рядом — память, сеть, диск, здоровье батареи и циклы, расход в ваттах и аптайм. по умолчанию он молчит: значения загораются, только когда выходят за границы, которые вы сами назвали нормальными.
| что вы хотите знать | встроенное в macOS | с hop |
|---|---|---|
| под тепловой нагрузкой ли я прямо сейчас | notifyutil, одна строка, бесплатно | ради одного этого не нужен |
| сколько на cpu и gpu градусов на самом деле | недоступно — ни командой, ни под sudo, ни значением в ioreg | показано в градусах в панели |
| это растёт или был один всплеск | истории нет ни у одного встроенного средства | последний час графиком |
| скажите мне, не дожидаясь вопроса | заметить вместо вас некому | предупреждение на значке в строке меню |
| что для этой машины нормально | порогов не задать | пороги задаёте вы |
| был ли троттлинг раньше | pmset -g therm — в простое «not recorded» | виден провалом на графике |
первая строка — честная: если вопрос двоичный, на него отвечает команда, и ставить ничего не нужно. всё, что ниже, — места, где у встроенного пути нет вообще ничего.
модуль целиком, вместе с тем, за чем он следит кроме температуры: монитор системы на странице фич
как читать температуру cpu на Mac, когда она у вас наконец есть
при какой температуре Mac с Apple silicon уходит в троттлинг?
- в простое у большинства машин на Apple silicon это 30–45 °C, под настоящей нагрузкой 90–100 °C — норма, а не поломка. эти чипы на то и рассчитаны и сбрасывают темп сами, раньше, чем что-нибудь окажется под угрозой.
- поэтому большое число само по себе не диагноз. важно другое: большое, когда ничего не запущено, или большое так долго, что машина заметно медленнее, чем была.
- MacBook Air без вентилятора вместо шума уходит в троттлинг. признак не звук, а то, что на длинной работе машина постепенно перестаёт отзываться.
- температура идёт за нагрузкой с отставанием в минуту-две. всплеск во время экспорта не говорит ни о чём; ровная полка весь день говорит о многом.
- тёплый корпус — это другое измерение, не кристалл. алюминий специально уводит тепло наружу, и это он работает как надо.
единственная температура, которую Apple действительно публикует, — комната, где вы сидите, от 10 до 35 °C; это стоит помнить, когда очередная страница называет «безопасное» число для чипа (страница английская): рабочая температура продуктов Apple
почему отрасль вообще ушла от градусов к уровням нагрузки, если нужны доводы, а не числа (страница английская): питание и нагрев на Apple silicon
когда горячий Mac — настоящая проблема, а не просто высокая температура
- горячо, когда ничего не открыто. ищите процесс на вкладке «ЦП» в «Мониторинге системы» — индексатор, синхронизацию, обновление или что-то, зациклившееся в себе.
- началось после крупного обновления и не прекращается. переиндексация Spotlight занимает часы и должна закончиться; спустя несколько дней это уже другой разговор.
- отверстия перекрыты или машина стоит на кровати. она делает свою работу, а теплу некуда деться.
- вентилятор гудит на одной скорости при низкой нагрузке. это неисправность датчика или самого вентилятора, а не тепловая, и вопрос к сервису.
- вы следите за числом весь день. в этом и есть настоящий риск любых показаний: чипы задуманы горячими, и беспокойство обходится дороже, чем экономит.
frequently asked questions
- как узнать температуру cpu на Mac с M1 или M2?
- встроенным — никак. macOS не показывает температуру на Apple silicon, и в командной строке её тоже нет: датчики видны в ioreg без значений, а чтобы их прочитать, нужны вызовы приватных фреймворков. без программы не обойтись.
- почему команда powermetrics не работает?
- сэмплера, который она просит, на Apple silicon не существует. `powermetrics --samplers smc` отвечает «unrecognized sampler: smc» — это была интеловская возможность, и рецепты с ней писались под Intel.
- можно ли понять, что Mac перегревается, без программ?
- да: notifyutil -g com.apple.system.thermalpressurelevel. ни sudo, ни установки. 0 — норма, выше идут moderate, heavy, trapping и sleeping. это состояние, а не температура.
- какая температура для Mac нормальная?
- примерно 30–45 °C в простое, а 90–100 °C под долгой нагрузкой — ожидаемо, а не тревожно. Apple публикует рабочий диапазон для помещения — от 10 до 35 °C — и ни одного числа для чипа.
- портит ли нагрев батарею?
- долгий нагрев старит батарею быстрее — поэтому греться в сумке хуже, чем греться на столе. редкие пики на тяжёлой работе — это то, для чего машина и сделана.
- показывает ли «Мониторинг системы» температуру?
- нет. он показывает нагрузку, память, энергию и сеть — и никаких тепловых показаний ни на одном Mac.
the tool behind this
system monitorload, temperatures, memory and battery — quiet until something is wrong.done with монитор системы
other things people do
об авторе

Anton Shakirovсоздаёт hop
создаёт hop и все страницы этого сайта. девятнадцать инструментов под одной иконкой в menu bar, MIT и открытый код. на issue и письма отвечает сам.