Heat throttling - a myth?

Discussion in 'MacBook' started by gekkonaut, May 13, 2015.

  1. gekkonaut macrumors newbie

    Joined:
    May 8, 2015
    #1
    Is it a myth? Seems like every other blog mentions you shouldn't do "anything heavy" because heat sensors will force throttle the cpu. Is this BS?

    Mine won't arrive for another week, so I can't test this more myself. I did torture test one a bit in the apple store - multiple homebrews compiling things, playing flash videos, etc, and although it got a little warm, I couldn't detect any throttling.

    Has anyone experienced the New MacBook actually throttling?

    On a side note, what's the best app to detect throttling? I use iStat menus, but it doesn't seem to keep track of frequency. It seems like Intel's power gadget might be useful, but I couldn't install it in the store due to admin requirements.
     
  2. fatefulwhisper macrumors regular

    Joined:
    Jul 24, 2008
    #2
    The simplest way to push all the cores in the CPU to the max is to do the "yes" command test in terminal.

    1. open terminal
    2. type the following:
    Code:
    yes > /dev/null & yes > /dev/null & yes > /dev/null & yes > /dev/null &
    3. to stop the processes, type:
    Code:
    killall yes
    I used Intel's power gadget to track temperature and CPU. I saw some throttling when using the method above; screenshot attached. CPU shot up as high as 2.4, then dropped to a steady 2.0.

    I have the 1.2GHz/512 rMB.
     

    Attached Files:

  3. Dayv macrumors 6502

    Joined:
    Aug 18, 2009
    #3
    As I understand it, the heat throttling is simply to stop turbo boosting and return to the base processor speed (1.1, 1.2, or 1.3 GHz). I don't believe it will throttle lower than that.
     
  4. drambuie macrumors 6502a

    Joined:
    Feb 16, 2010
    #4
    The purpose of CPU heat throttling is to protect the CPU from damage due to overheating. It is built into the CPU chip to prevent damage, mainly due to cooling failure. On most systems you will not see this in operation, as the cooling will take care of it before the CPU reaches max operating temperature. Also, with low power CPUs, passive heat sink cooling will be sufficient.

    If you want to see throttling in operation, remove the heatsink from a desktop CPU while it's under high load. The CPU will immediately throttle down to an idle state. Otherwise, it would become a cinder within seconds.
     
  5. johngwheeler macrumors 6502

    Joined:
    Dec 30, 2010
    Location:
    I come from a land down-under...
    #5
    That's impressive!

    This is a better result than I would have expected. Assuming the "yes" commands you ran actually max out all cores/hyper-threads to nearly 100%, then it would seem that it's capable of maintaining a respectable turbo boost to 2.0GHz long-term. I would have expected it to drop back to it's base frequency over time.
     
  6. fatefulwhisper macrumors regular

    Joined:
    Jul 24, 2008
    #6
    check out my screenshot on what "yes" does to the CPU.
     

    Attached Files:

    • yes.png
      yes.png
      File size:
      317.7 KB
      Views:
      169
  7. thitiv macrumors member

    Joined:
    Dec 3, 2011
    Location:
    Bangkok, Thailand
    #7
    [​IMG]

    Here is a screenshot of loads on CPU after installing OS X 10.10.4 beta. In 10.10.3 the OS does not spare Core M processors enough time to cool itself down. The CPU usage graph was more like a continuous block. I have played with 10.10.4 beta yesterday evening and my rMB works much more efficiently. It seems like Apple couldn't keep up with OS update plan when they put the Retina MacBook on sale.
     
  8. gekkonaut thread starter macrumors newbie

    Joined:
    May 8, 2015
    #8
    Very interesting observations! Thanks!

    Thitiv, very interesting that you're saying 10.10.4 doesn't give the CPU time to cool. Wouldn't this effectively be throttling at the OS level? Are you certain about that? Does anyone know if that impacts performance at all?
     
  9. thitiv macrumors member

    Joined:
    Dec 3, 2011
    Location:
    Bangkok, Thailand
    #9
    @gekkonaut, it is 10.10.3 which has been released that doesn't give the CPU spare time to cool. The unreleased, beta version of 10.10.4 does. I am quite certain because the CPU usage graph under continuous load is "square" which means the CPU is loaded heavily all the time. The shape in 10.10.4 is like the picture above. You can compare the performance to running. By design Core M works like a marathoner, at moderate speed for an extended period of time rather than a 100-meter sprint at extreme speed.

    ----------

    By the way, I was a ThinkPad overclocker several years back before I moved to Mac. Throttling is controlled by the physicals in the CPU. When the CPU gets hotter, due to extended full load and no active (fan) cooling, it slows down to protect itself from getting "burned" out. Throttling is not controlled by the OS. It's by the CPU. But ordering the CPU to work hard until it reaches such condition is obviously responsible by the OS.
     
  10. leman macrumors 604

    Joined:
    Oct 14, 2008
    #10
    What the 'yes' method above does is claim all available CPU time from the OS — this is why CPU is reported at 100% utilisation. But its not really pushing the CPU to its limits. To do that, you'd need to continuously run some code that is able to load up every ALU the CPU has every cycle. Then you should see much more significant throttling, as the CPU would heat up much quicker. Writing such code is far from being trivial though.

    ----------

    Actually, from how I understand it, Core M is a sprinter. Its most efficient for short bursts of high activity then long-term sustained moderate activity. This is what allows it to perform so well in everyday tasks — because normal computing (Internet, Email, Office) is all about bursts of activity with very long waiting pauses in-between.
     
  11. thitiv macrumors member

    Joined:
    Dec 3, 2011
    Location:
    Bangkok, Thailand
    #11

    Agreed. I tested mine by running a full system virus scan in my Parallels Desktop Windows VM. That taxes the machine a lot.

    ----------


    Your understanding is correct. Sorry for my bad analogy. The CPU activity graph from 10.10.4 reflects what you explains which is the nature of Core M CPU. 10.10.3 pushes the CPU at full speed for an extended period which is against its nature.
     
  12. Newtons Apple macrumors Pentium

    Newtons Apple

    Joined:
    Mar 12, 2014
    Location:
    Jacksonville, Florida
    #12
    Why would you think that throttling is a myth?:rolleyes:
     
  13. usernames.taken macrumors member

    usernames.taken

    Joined:
    Apr 27, 2015
    Location:
    Australia
    #13
    aka, if the CPU overheats too much, it will completely turn off, shutting down your computer as if you turned it off.
     
  14. Queen6 macrumors 603

    Queen6

    Joined:
    Dec 11, 2008
    Location:
    Enjoying Better Things
    #14
    Want to light up the CPU, run Prime95 equally such tests are not representative of day to day use.

    If you really want want to get into thermals and throttling go over to this thread on the MBP forum for far more technical detail:

    http://forums.macrumors.com/showthread.php?t=1731178


    Q-6
     
  15. dyn macrumors 68030

    Joined:
    Aug 8, 2009
    Location:
    .nl
    #15
    Not really. The yes command will try to max out but in reality it doesn't. If you start other applications they'll be started and just run (you can easily run several vm's and 8 yes commands at the same time on a quad core cpu without HT). If it were to max out the cpu that wouldn't be possible since the machine (cpu) is too busy. After a while the machine settles down at a certain steady speed.

    That's exactly what you were seeing (it settled down on a steady 2.0). If the machine was throttling due to heat you'd not have seen it settle down on a steady speed but you'd have seen the speed decrease more and more due to heat going up and up. The lowest possible speed of the cpu in the MB is either 1.1, 1.2 or 1.3GHz, not 2.0GHz so there is still a lot of room there.

    The yes command is a simple way to create a high workload but it isn't meant to max out the cpu nor will it ever be able to do so. If you want to max out the cpu you should use other tools. Also be aware that the OS is also at play here. You can't simply detect cpu throttling.
     
  16. johngwheeler macrumors 6502

    Joined:
    Dec 30, 2010
    Location:
    I come from a land down-under...
    #16
    This isn't quite correct. All modern Intel CPUs will idle at well below their nominal base frequency. Have a look at Intel Power Gadget when the machine is idle - you'll probably see frequencies in the 500-800MHz range.
     
  17. Skika macrumors 68030

    Joined:
    Mar 11, 2009
    #17
    This is true, my rMBP with base frequency of 2.5ghz idles at around 0.80ghz to 1.20ghz.
     
  18. dyn macrumors 68030

    Joined:
    Aug 8, 2009
    Location:
    .nl
    #18
    Throttling due to heat when the machine is idle is highly unlikely. If that happens the machine is in a situation that isn't suited for a human being (being on fire for example). Or in other words, what you are describing is something completely different from what this topic is about. This is about the cpu being pushed to the max in order to generate heat to see if the cpu throttles back or not.

    Load != idle. So in the end it's actually your reply that isn't correct since this is not about machines in an idle state ;)
     

Share This Page