As was suggested by Frank, downrev kernels don't export MemAvailable
but we can calculate it from other fields. A new QA test is brewing
to check this and a new pmie rule with syslog alerts for production
environments might be warranted too.
Changes committed to git://git.performancecopilot.org/markgw/pcp/pcp.git dev
commit 5b23cbf06d8d6e58efd50df82b25a13391520c1f
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Fri Jul 4 17:28:11 2014 +1000
Add new view for mem.util.available, capped by mem.physmem.
This shows the amount of memory available for new work without
swapping. See the help text for mem.util.available for more
details.
modified: src/pmchart/views/GNUmakefile
new file: src/pmchart/views/MemAvailable
commit 191828a938cde0880c57cf648d49d0f79bae9d8d
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Fri Jul 4 16:50:45 2014 +1000
Calculate mem.util.available for kernels without MemAvailable in
/proc/meminfo.
Downrev Linux kernels (prior to 3.x) have no support for "MemAvailable"
in /proc/meminfo so calculate this from other fields, similar to upstream
kernel commit 34e431b0ae. Also, if $PCP_QA_ESTIMATE_MEMAVAILABLE is
set in the environment, then force this calculation for QA purposes
(so we can check the calculation matches the kernel exported value).
modified: src/pmdas/linux/pmda.c
modified: src/pmdas/linux/proc_meminfo.c
modified: src/pmdas/linux/proc_meminfo.h
|