Live data from Hacker News

Building a macOS app to know when my Mac is thermal throttling

stanislas.blog

71–80 of 123 posts

Re: Building a macOS app to know when my Mac is thermal throttling

#71

> I know it’s thermal throttling because I can see in iStat Menus that my CPU usage is 100% while the power usage in watts goes down. There's another possibility. If your battery is low and you've mistakenly plugged it into a low-power USB-C source (phone charger), you will also see 100% CPU usage, low power usage, and terrible performance. Probably not the author's problem, but it's been mine more than once! It migh…

> I know it’s thermal throttling because I can see in iStat Menus that my CPU usage is 100% while the power usage in watts goes down.

When I read this I wondered "Why isn't core temperature alone not a reliable indicator of thermal throttling?". Isn't that the state variable the thermal controller is directly aiming to regulate by not letting it exceed some threshold?

Re: Building a macOS app to know when my Mac is thermal throttling

#72
post #58

I had the 2019 Macbook Pro i9, so I think a function to determine thermal throttling could be written very simply: function isThermalThrottling() { return true; } Seriously, I loved that computer for the most part but I was a little annoyed that I paid a lot of money for the i9 CPU just to get worse performance than the i7.

I had a Mid-2015 MacBook Pro with an i7 and I still ran the fans at full speed at all times (actually above full speed). I had a couple fan failures due to that, but otherwise I think it was worth it.

Re: Building a macOS app to know when my Mac is thermal throttling

#73

> I know it’s thermal throttling because I can see in iStat Menus that my CPU usage is 100% while the power usage in watts goes down. There's another possibility. If your battery is low and you've mistakenly plugged it into a low-power USB-C source (phone charger), you will also see 100% CPU usage, low power usage, and terrible performance. Probably not the author's problem, but it's been mine more than once! It migh…

> I know it’s thermal throttling because I can see in iStat Menus that my CPU usage is 100% while the power usage in watts goes down. When I read this I wondered "Why isn't core temperature alone not a reliable indicator of thermal throttling?". Isn't that the state variable the thermal controller is directly aiming to regulate by not letting it exceed some threshold?

My M4 Max Macbook Pro can run for a while at like 105°C and fans to the max before throttling, when it starts throttling it doesn't exceed that threshold, and then the temperature goes down for a while before throttling stops

Re: Building a macOS app to know when my Mac is thermal throttling

#74
post #61

Earlier quoted context omitted.

> but what are you able to do about it? On Macbooks with fans, I started tuning my fan curve with iStat Menus ( https://bjango.com/help/istatmenus7/fans/#custom-fan-curve ) because I noticed the default curve was lagging behind and thermal throttling kicked in before the fan even reach max speed. For Apple Silicon specifically, I recently discovered that there is a "high power mode" ( https://support.apple.com/en-us/…

It would be cool if the bottoms of MacBooks weren’t flat and instead wavy or rippling to increase surface area. There are probably a lot of cool designs (ayyyyy) you could machine in.

Is there a value to increasing surface area on the top or bottom case of a MacBook? I'd imagine most of the thermal management is achieved by fan-directed airflow through the internal heatsinks and convection through the keyboard.

Re: Building a macOS app to know when my Mac is thermal throttling

#75

It won't run on a MacBook Air M1 running Sonoma. Only Tahoe. Come along with me! We'll destroy the planet so fast that we'll all be cinders before you know it. All we have to do is gobble the marketing speak so fast and make everything shiny and new, and we'll all be dead before you can say "Greta Thunberg." Come die with me for thin and for stylish. Kill the animals with me for "sleek". Die. With. Me. Now! I made an…

I merged https://github.com/angristan/MacThrottle/pull/2 to make it work on macOS 15. macOS 14 probably works, feel free to try it out and open a PR to lower the required version if it's the case

Re: Building a macOS app to know when my Mac is thermal throttling

#76
post #18

Earlier quoted context omitted.

> but what are you able to do about it? On Macbooks with fans, I started tuning my fan curve with iStat Menus ( https://bjango.com/help/istatmenus7/fans/#custom-fan-curve ) because I noticed the default curve was lagging behind and thermal throttling kicked in before the fan even reach max speed. For Apple Silicon specifically, I recently discovered that there is a "high power mode" ( https://support.apple.com/en-us/…

An open question on fan curves Environment: I am currently playing with a pid control function for my gpu fan, that is instead of saying "map temp x to fanspeed y"(fan curve) say "set fan to speed needed for temp z"(pid control) Question: is there a reason pid type control is never a thermal option? Or put another way, is there something about the desired thermal characteristics of a computer that make pid control un…

> Question: is there a reason pid type control is never a thermal option? Or put another way, is there something about the desired thermal characteristics of a computer that make pid control undesirable?

I've only every seen something like this in really high reliability equipment because they're worried about repeated thermal expansion causing cracks in the boards/solder joints. There is, often, heaters available for use if the temperature gets too low. For most equipment I think that the juice just isn't worth the squeeze so it isn't done.

Re: Building a macOS app to know when my Mac is thermal throttling

#77
post #58

I had the 2019 Macbook Pro i9, so I think a function to determine thermal throttling could be written very simply: function isThermalThrottling() { return true; } Seriously, I loved that computer for the most part but I was a little annoyed that I paid a lot of money for the i9 CPU just to get worse performance than the i7.

I had that laptop and it is the worst computer I have ever owned. As soon as you booted the fans would start spinning. There were sometimes kernel panics when plugging or unplugging Thunderbolt devices.

I have an M1 Max MBP now and it has been absolutely perfect.

Re: Building a macOS app to know when my Mac is thermal throttling

#78

My 2017 macbook is basically brick. Crazy how just opening chrome sets off fans like a jet engine. How much cpu can checking gmail really use? Foolish me is considering buying a new macbook this year. I have no choice because Apple and Microsoft will do everything in their power to ship the shittiest personal computing products every year.

Yeah, 2016-2019 were severely cooling constrained unfortunately.

If you want to keep using it (maybe not as your main machine) there are some workarounds and fixes:

The simple software only way is to deactivate Turbo and/or HT. Less performance but also less power use meaning less heat. And checking gmail or browsing the web you probably wont notice much of a difference.

Or you can open it up and add thermal pads to your VRMs, finally giving them adequate cooling. Just dont touch the bottom of your macbook afterwards or rest it on your bed or couch, that thing can get hot!

Re: Building a macOS app to know when my Mac is thermal throttling

#79
Hypothesis: it’s not the CPU, it’s the USB controller saturating the thermal mass.

So instead of the CPU or GPU going bonkers, the body gets too hot and they lose thermal dissipation capacity for the normal usage and then overheat and then throttle. They go 100% on the graphs because the throttling reduces frequencies and then load becomes too heavy.

Experiment other adapters and monitors.

Re: Building a macOS app to know when my Mac is thermal throttling

#80

> I know it’s thermal throttling because I can see in iStat Menus that my CPU usage is 100% while the power usage in watts goes down. There's another possibility. If your battery is low and you've mistakenly plugged it into a low-power USB-C source (phone charger), you will also see 100% CPU usage, low power usage, and terrible performance. Probably not the author's problem, but it's been mine more than once! It migh…

I have an M1 MacBook Air and do a once weekly virtual D&D session with some friends. I hook it up to my 4K monitor, and I assumed it had to do with that. It kept becoming a slideshow (unless I put an ice pack under it!) and I realized it’s because the battery life is so good it’s the only time of the week I charge the thing, so charging the battery was making the poor laptop a hot mess that was thermal throttling like crazy. This is with a nice dock that can push around 100W, so it isn’t necessarily an underprovisioned charger.

I started charging it an hour or two before our session, and the issues stopped.

Post reply on HN