76

I recently came across the Intel Extreme Tuning Utility for Windows. I tried it under Bootcamp Windows and it was very interesting to learn in what situations my MacBook Pro's (mid2012) CPU is doing thermal throttling. The tool is also designed to change the CPU's voltage, in order to reduce thermal throttling. However, this option was not available.

So my questions are:

  1. Is there a similar tool to monitor CPU (thermal) throttling under OS X (Yosemite)? Answering this part will qualify to accept the answer ;-)
  2. Why was the option to alter the CPU voltage not available under Bootcamp? Is this feature not supported by my CPU (i7 2.6 GHz Ivy Bridge 3720QM)?
  3. If my CPU is capable of changing its voltage, is there a way to reduce CPU voltage in OS X?

Disclaimer: Yes, I know that this may potentially break my hardware. No warnings necessary ;-)

5 Answers 5

105

Apple Silicon Macs

From this answer:

sudo powermetrics -s thermal

which under normal conditions prints the following after a while:

Current pressure level: Nominal

Not quite sure whether this directly corresponds to whether the CPU is throttled or not, but it's at least very closely related.

Intel Macs

To monitor throttling, you may run:

pmset -g thermlog

in terminal and watch output: enter image description here

If CPU_Speed_Limit is less than 100 at some moments, then it means CPU is throttled.

5
  • Nice. I am debating if this should be the accepted answer. On my Mac it doesn't update as seen in your screenshot. It shows just one measurement and stops.
    – n1000
    Commented Sep 5, 2019 at 11:46
  • 5
    @n1000 it will change only if, well, thermal throttling state changes. My macbook is unfortunately easy to throttle, so I just ran CPU-intensive task and made screenshot at this moment.
    – ivanzoid
    Commented Sep 5, 2019 at 12:02
  • 2
    Accepting this answer, despite another one having more votes. However that answer does not elaborate how throttling can be detected using Intel Power Gadget. This answer here is very clear as CPU_Speed_Limit gives a numerical indication.
    – n1000
    Commented Nov 20, 2019 at 10:43
  • 2
    Actually you now may somewhat detect throttling in Intel Power Gadget. Recent versions show MAX/AVG/MIN/REQ(requested) CPU frequency. If you start some intensive task, and see that at first REQ graph goes to the maximum, but after some time, as Temperature approaches 100℃ REQ graph drops, then you may say that CPU is throttled.
    – ivanzoid
    Commented Nov 21, 2019 at 7:15
  • 1
    I just tested it by running pmset -g thermlog and Power Gadget in parallel. it seems you are correct @ivanzoid. REQ and CPU_Speed_Limit reduce their value at the same time. Time to upvote this answer too.
    – n1000
    Commented Sep 14, 2020 at 8:29
28

The official Intel Power Gadget has a Mac version.

Intel Power Gadget

3
  • Still not clear though how you can actually tweak settings. I am running in now, but it seems it is read-only. Is there a way to actually tweak settings? I'd like to keep my temp under 75 celsius if possible.
    – Sun
    Commented Apr 24, 2018 at 22:12
  • 1
    It looks like the download link has been changed: software.intel.com/en-us/articles/intel-power-gadget
    – psmith
    Commented May 27, 2019 at 9:40
  • 15
    In my opinion this answer is impartial. It is only a link and a screenshot. How do I know if throttling is happening? Maybe you could elaborate how one can know from these graphs if the CPU is being throttled?
    – n1000
    Commented Sep 5, 2019 at 11:31
23

There is an open-source menu bar app for monitoring CPU throttling (and temperature) called Hot: https://github.com/macmade/Hot/

brew install --cask hot

It shows the information at the menu bar directly, plus a history as a line graph.

https://raw.githubusercontent.com/macmade/Hot/main/Assets/menu.png

(via: https://www.idownloadblog.com/2020/11/25/hot-for-macos/)

2
  • This apparently has been removed from brew. Doing brew info hot returns No available formula with the name "hot". If you try doing a search instead with brew search hot, there is no formulae named hot that gets returned. Commented Jun 16, 2022 at 19:34
  • looks like it's a cask. brew install --cask hot works for me.
    – trebor
    Commented Oct 4, 2022 at 16:10
11

To add to Vebjorn Ljosa's answer, if you have homebrew installed you can install the Intel Power Gadget with the following command:

brew install --cask intel-power-gadget

Once installed, the app (in your Applications directory) will show you various stats.

From my limited testing, it appears that the red "REQ" line shows when the system is intentionally reducing speed/power.

enter image description here

4
  • 3
    I just tested it by running pmset -g thermlog and Power Gadget in parallel. it seems you are correct. REQ and CPU_Speed_Limit reduce their value at the same time.
    – n1000
    Commented Sep 14, 2020 at 8:28
  • 3
    I needed to do brew install --cask intel-power-gadget
    – boyfarrell
    Commented Dec 22, 2020 at 13:37
  • 1
    I should add that installing this tool caused spurious problems on my mac with vagrant/VirtualBox, and I had to remove it.
    – trebor
    Commented Mar 28, 2021 at 11:03
  • I updated the answer - thank you @boyfarrell
    – trebor
    Commented May 24, 2021 at 9:44
1

I would also like a utility to perform this function.

I don't know how to monitor this in OSX, but there is a way to reduce it: SMC Fan Control. This utility allows you to manually set your fans' speeds, which will cool the machine, reducing the throttling somewhat.

2
  • 2
    this will only help to avoid peaks. if the CPU is under full load for a while the fans will run at 100% anyway.
    – n1000
    Commented Jul 2, 2016 at 18:46
  • 2
    Yeah, the macOS has ultimate control over the fan speeds. You can increase the fan speed above the system's recommendation, but not lower it below that. The system has the final say.
    – SoItBegins
    Commented Aug 22, 2019 at 10:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .