ganglia/monitor-core — pull request #76 by plaguedbypenguins (2013-01-21 15:35:16+00:00)
Title: limit linux cpu stats to [0,100] to remove huge spikes

on our 1500 nodes running rhel6 kernels we get a few of these daily:
cpu_wio_func: val > 100: 1.15299e+17 ~ 1.84467e+19 / 15999 = (3051596 - 3051599) / (902933030 - 902917031)
which are caused by negative rates from /proc/stat being cast to unsigned.
usually it's cpu_wio_func, but we also see it with cpu_idle_func and cpu_user_func.

this patch range limits all linux cpu stats to 0 -> 100 and stops the huge spikes in ganglia data.
obviously it's not solving the core of the problem (it could be the kernel or the way ganglia harvests /proc/stat), but either way it's much better than spikes.