AI Signal 124
Unix load average semantics diverged across multi-CPU, threading, and IO wait implementations
Illustration only Photo by Tyler on Unsplash
Chris Siebenmann outlines how Unix load average calculations evolved differently across systems regarding multi-CPU scaling, thread visibility, and IO wait inclusion.
Load average is a ubiquitous health metric, but its meaning is not strictly uniform across Unix variants or runtime environments. Engineers interpreting a load average must know their specific OS and application threading model to avoid misdiagnosing system saturation.
Written by elseif from the cluster below · every claim links back to a sourceThe three things worth knowing
Modern Unix load average is a global count of running and waiting processes, independent of total CPU count.
Kernel visibility limits load average accuracy for green threads or M:N threading models like Go's goroutines.
Whether load average includes processes waiting on disk IO varies by Unix implementation, with Linux including it after an early change.
THE CLUSTER