[CentOS] Measuring memory bandwidth utilization

Wed Feb 3 01:50:57 UTC 2016
John R Pierce <pierce at hogranch.com>

On 2/2/2016 5:34 PM, Benjamin Smith wrote:
> I'd like to know what the cause of a particular DB server's slowdown might be.
> We've ruled out IOPs for the disks (~ 20%) and raw CPU load (top shows perhaps
> 1/2 of cores busy, but the system slows to a crawl.
> We're suspecting that we're simply running out of memory bandwidth but have no
> way to confirm this suspicion. Is there a way to test for this? Think: iostat
> but for memory bandwidth instead of disk IO.

memory bandwidth would show up as CPU busy, there's no distinction.

50% of your cores 100% busy, how many cores and how many waiting 
database tasks are there?  typically with most database servers, one 
user connection == one core at a time.   so if you have 16 cores, and 
only 8 busy/active database connections, that will tie up those 8 cores 
and leave the other 8 free.    now the 8 processes will probably get 
bounced around between the cores, so it could end up looking like all 16 
cores are 50% busy averaged over some sample rate, but thats the same 
net difference..

john r pierce, recycling bits in santa cruz