Building MacThrottle: A macOS App to Detect Thermal Throttling
By
angristan
Fresh out the oven, still warm. Top of the tray.
Summary
A developer shares their journey building MacThrottle, a macOS menu bar app that detects when a Mac is thermal throttling. The project was inspired by noticing performance issues with an M2 MacBook Air when using demanding external displays. The article details the technical challenges of accessing macOS system metrics, exploring various APIs like IOKit, SMC, and powermetrics, and ultimately creating a functional app that monitors CPU performance states to detect throttling. The post serves as both a technical tutorial and personal development story.
Key quotes
· 4 pulledI've been very happy with my M2 MacBook Air for the past few years. However, when using an external display, especially a very demanding one like a 4K 120Hz display, I've noticed it started struggling more.
Since it lacks fans, you can't hear it struggling, but you can feel it as everything becomes very slow or unresponsive: that's when thermal throttling kicks in.
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.
This is the story about how I built MacThrottle, a menu bar app that tells me when my Mac is thermal throttling, and the journey to find the right macOS APIs.
You might also wanna read
SizzleAir: A macOS menu bar thermal assistant for fanless MacBook Airs
SizzleAir is a macOS menu bar utility for fanless Apple Silicon MacBook Airs that detects thermal pressure and provides users with clear exp
Mnara: Mac menu bar system monitoring app launches on Product Hunt with Apple Silicon limitations
Mnara is a Mac menu bar app that provides live system metrics including disk inspection, battery health, startup impact, and network monitor
ActiveStat: macOS Menu Bar Performance Monitoring Tool for Apple Silicon
ActiveStat is a macOS menu bar application that provides real-time performance monitoring for CPU, memory, disk activity, and energy impact.
Native macOS App Transforms System Stats into Interactive 3D Desktop Visuals
A native macOS application that transforms system performance statistics into interactive 3D animated objects on the desktop. The app monito
PaceBar: A Privacy-Focused Mac Menu-Bar App for Monitoring Work Pace
PaceBar is a privacy-focused Mac menu-bar application that monitors on-device interaction patterns to display a simple workload readout. It
StatusStats: Mac Menu Bar System Monitoring Tool
StatusStats is a Mac utility that displays system metrics (CPU, GPU, memory, thermals, fans, network, power, storage, and battery) in a comp
