I was running a big local LLM on my M-series MacBook — something in the Qwen3 / Gemma 3 27B class through Ollama or LM Studio. Within a few minutes the chassis was hot, the fans were loud, and the SoC sensor sat around 90 °C. I asked Claude for the cheapest fix. It is an AI, so helping calm another AI's appetite felt only fair. The answer was one line in the terminal: macOS Low Power Mode, flipped on with pmset. Same job, a bit slower — and on my machine the same sensor read about 75 °C instead.
Low Power Mode caps the clocks, so a sustained AI workload runs flat and cool instead of spiking against the thermal limit — it just takes longer.
You trade peak speed for a lower, steadier power draw. For interactive work that trade is usually wrong. For a model that will run for twenty minutes anyway, it is usually right.
Low Power Mode lives in System Settings, but the terminal version is faster and scriptable. It takes sudo, applies instantly — no restart, no logout — and persists across reboots until you change it back.
sudo pmset -b lowpowermode 1
sudo pmset -b lowpowermode 0
pmset -g custom | grep -B5 lowpowermode
The -b picks which power source the setting applies to. My heavy LLM runs usually happen docked, so the flag I reach for most is -a:
| Flag | Applies when | Example |
|---|---|---|
| -b | On battery | sudo pmset -b lowpowermode 1 |
| -c | Plugged in (charger) | sudo pmset -c lowpowermode 1 |
| -a | Always — both sources | sudo pmset -a lowpowermode 1 |
These map one-to-one onto the dropdown in System Settings → Battery → Low Power Mode (Never / Always / Only on Battery / Only on Power Adapter) — flip it in either place and the other follows. When it's active, the battery icon in the menu bar turns yellow.
Most workloads come in bursts — compile, wait, scroll. The Mac sprints, finishes, cools off. A local LLM is the opposite: inference saturates the GPU and memory for as long as the job runs. Minutes, sometimes hours, of constant full load. The same applies to long agent sessions, batch transcription, video exports — anything that pins the SoC and keeps it pinned.
At full clocks the chip hits its thermal ceiling and the firmware starts a cycle: boost, overheat, throttle, cool a little, boost again. I could watch the sawtooth in the temperature readout, hear it in the fans — and feel it in the keyboard deck. Low Power Mode caps the clocks below the point where that fight starts. The power curve goes flat, and the spikes simply never happen.
These are readings from my MacBook running a ~27B model — one machine, read by eye off the sensor readout, not a benchmark. Your numbers will differ; the shape of the trade will not.
| Full clocks | Low Power Mode | |
|---|---|---|
| SoC temperature | ~90 °C, spiky | ~75 °C, flat |
| Fans | Loud | Quiet to near-silent |
| Throughput | Full speed | Noticeably slower — the job takes longer |
| Chassis | Hot to the touch | Warm |
| On battery | Drains fast | Meaningfully longer runtime |
To watch the numbers yourself: a menu-bar app like Stats is the comfortable way, or sudo powermetrics --samplers smc straight from the terminal.
The pattern we landed on: if I will walk away from the job, Low Power Mode goes on. If I will sit and wait for it, it stays off.