встроенного способа увидеть, насколько горяч ваш Mac, нет

обновлено · автор

на 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 и без программ:

  1. notifyutil -g com.apple.system.thermalpressurelevel
  2. прочитайте число в конце строки: 0 — это норма.
  3. шкала названа в 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

об авторе

Антон Шакиров, автор hop

создаёт hop

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

download hopfree · macOS 14+ · Apple silicon and Intel