tmux lag, round 2: every status-bar fork froze the server for 30 ms
Update 2026-10-09: I extended this renderer for a 71-column iPhone client: compact text stopped duplicated bottom status rows while keeping the desktop colors and widgets. See the Termius on iPhone follow-up.
Two days after the
last fix, my tmux was laggy
again, and the server was back at about a quarter of a CPU core. The culprit was
the same as last time: the status bar’s #() jobs. This time, though, the
number of jobs wasn’t the problem. Each one had become slow, because every job
is a fork of the whole tmux server and my server had grown to 1.5 GB.
This post covers how I measured it, where the 1.5 GB came from (mostly the scrollback of three panes), and the fixes. One of them corrects a claim in my previous post.


