Telemetry — Heat and pressure
My laptop is a thermometer for my office
There is no sensor in this machine measuring the room. There is a sensor measuring the processor, which is a different thing — it mostly tells you how hard the computer is working.
But a processor doing nothing still has a temperature, and that temperature is the room's, plus a constant. Throw away every reading where the machine was actually busy and what's left is a thermometer nobody installed.
Readings through rolled up page built
The day is clearly visible
Below is processor temperature by hour of day, using only readings where the machine was genuinely idle: nothing much running, screen not in use, no external monitor plugged in, and at home rather than travelling. The line is the typical value; the shaded band covers the middle 80% of readings.
It runs from 37.6°C around 05:00 up to 42.3°C around 11:00. That is a 4.6°C daily swing, and it is the house: coolest before dawn, warmest in the early evening, which is how a building with any thermal mass behaves.
Two things could fake this, so both are excluded. An external monitor adds several degrees on its own and gets plugged in during the day, so any reading with one attached is dropped. A processor stays warm for a while after it finishes work, so busy readings are dropped too rather than averaged down.
What survives all that is 3,323 of 39,478 readings — 8.4%. That ratio is the whole reason this needs months of history: the useful moments are the rare ones.
The season, incidentally, is invisible. March and July look the same. Air conditioning erased the part of the signal you'd most expect to find, and left the daily cycle standing.
For contrast, the obvious version
Same sensor, plotted against how hard the machine is working rather than the time of day. This is the chart you'd expect: work goes up, temperature goes up, from about 40°C at rest to 86°C under sustained load.
Both configurations are drawn on one chart below. Plugging in an external monitor shifts the whole curve upward by a few degrees — the two lines are the same response at two heights.
Horizontal axis is load average — roughly, how many things are queued up waiting for the processor at once.
What a room full of AI agents costs
I run a lot of coding agents. Enough that at least one is running in
96% of all readings ever taken, and it is not
unusual to have half a dozen going at once. The chart below counts
concurrent claude
processes — one per session — taking the busiest moment of
each day. The record is 22 at once, on
2026-05-17.
They are not free. Swapping — what happens when a machine runs out of real memory and starts shuffling data onto disk to cope — climbs steadily with the number of agents running, from about 11.2 GB with none to 15.1 GB with 8 or more, on a machine with 24 GB of memory installed.
The chart below tracks both over the whole run. Memory used sits pinned near the 24 GB ceiling the entire time, and swap lives high with it — peaking at 34 GB, well past the physical memory installed, because swap spills onto disk. This laptop has been over its memory budget continuously for six months, not spiking under load but sitting there.
Is 24 GB enough?
One way to ask whether a machine has enough memory: add up what it is actually holding — the part kept in fast RAM plus the part pushed out to disk — and compare it to the RAM installed. That total is the working set, the memory the workload genuinely wants at once.
Here it sits above the 24 GB line on 166 of 189 days. Typically it wants 31 GB, on a busy day 38 GB, and at its peak 52 GB — more than twice the RAM installed. The resident line, meanwhile, is pinned flat just under the ceiling: it can't rise to meet demand because there's no more RAM to rise into, so everything above it spills to disk. That flat line under a floating one is what a memory-constrained machine looks like.
The gap between the two lines is swap: memory the machine wanted resident but had to keep on disk instead.
The disk fills up, then empties in a single afternoon
Disk space in use, day by day, out of 1,858 GB. The underlying trend is upward at about 2.2 GB a day, which is the boring part.
Then there are the cliffs. The largest is 623 GB vanishing on 2026-07-08 — a working set of datasets and build artifacts that accumulated for weeks and then got cleared out in one go. A monthly average would show none of this.
5 restarts in 189 days
Each bar is one stretch between restarts. The longest ran 92 days. None of these was a decision; the machine gets restarted when an update insists on it.
The first bar is an undercount — that session had already been running for some time when the recording started, so its true length is unknown.