See how the card was shared
pgpu stats sums the last 7 days, one line per day (--days N sets another span):
stopped 2026-10-14 21:03 sim interactive out of memory at 64M after 6.0s (budget 5m00s) ./hungry.shstopped 2026-10-14 21:03 sim interactive over twice its budget after 4.0s (budget 2.0s) ./forever.shbench 2026-10-14 21:02 bench bench ran 6.0s beside 1 other job, GPU 17% busy ./bench.shday held active busy holds wait p50 / p90 / max sessions2026-10-14 1m15s 1m00s 123% 8 0.0s / 7.8s / 12.5s blender 51%, ci 18%, sim 13%, search 8%, bench 7%, preview 0%stoppedlines: the jobs pgpu stopped, when, and why (past twice their budget, stalled, or out of memory).benchlines: each bench, how long it ran, how many other jobs held a lane beside it, and how busy the card was on average meanwhile. A bench prints the same line when it ends.- The day table:
held: the lane time jobs held that day, summed over the lanes;active: from the day’s first hold to its last;busy:heldoveractive, so with two lanes it can pass 100 %;holds: how many times a job took a lane;wait: the median, 90th percentile and longest time from asking for a lane to holding one;sessions: each session’s share ofheld, largest first.
Pacing
Section titled “Pacing”pgpu stats --pace shows, per session, how often its jobs called pgpu turn and what they reported:
session jobs turns reported turn gap p50 / p90 / max longest p50 / p90 / maxbench 1 0 0% - -blender 2 6 0% 5002 ms / 5004 ms / 5004 ms -turns: thepgpu turncalls;reported: the share that carried--work-msor--longest-ms.turn gap: the time between turns, measured by pgpu.longest: the longest single submission the jobs reported.
A job that turns every few hundred milliseconds lets an interactive job in fast; one that never turns holds its lane to its end. See take turns between passes.
As JSON
Section titled “As JSON”pgpu stats --json and pgpu stats --pace --json carry the same figures; see the JSON formats.