actop 1.4.15
Fixed
-
Memory bandwidth reading: each DCS BW histogram bucket is now represented by
its midpoint instead of its upper edge. ThePMP/DCS BW/
AMCC RD+WRstate names are bucket upper edges in 32 GB/s steps, so the
bottom bucket spans 0-32 GB/s but scored a flat 32. On an idle machine ~99%
of the residency sits in that bucket (measured on an M4 Max: 4351 of 4396
samples), soMem BWwas pinned at a constant32.0 GB/swith a flat chart
line and anavg/maxbarely above it — real idle traffic of a few GB/s was
indistinguishable from 31 GB/s. Each bucket is now weighted by the mean of its
own edge and the previous one (the first bucket's lower edge is 0), derived
from consecutive edges rather than assuming a fixed step.Reported values shift down by half a bucket width (~16 GB/s per
controller die). Measured on an M4 Max viaMonitor.get_snapshot(): idle
went from a constant32.0to16.85 / 17.00 / 16.82 / 16.87GB/s over
consecutive samples — no longer pinned — and a 4-threadmemcpyworkload
read109.8GB/s, so loaded readings still track proportionally.Note this does not give sub-bucket resolution: the bottom bucket is 32 GB/s
wide and holds nearly all idle residency, so an idle machine now reads ~16
GB/s (that bucket's midpoint) rather than its true few-GB/s traffic. The
histogram simply carries no finer detail below 32 GB/s, so the idle chart
stays relatively flat — just at a defensible value instead of the bucket's
ceiling. Chart andMEM-BOUNDalert scaling are unchanged; both still
normalize against the session ratchet from 1.4.13.