2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/memory/proc_memory_status

65 lines
1.6 KiB
Plaintext
Raw Normal View History

2008-05-07 23:46:03 +02:00
#!/bin/sh
# Julien Francoz CoCoZ <julien@francoz.net>
# graph memory usage detail for a process using /proc/$PID/status
# create a link to this plugin with the syntax proc_yourprocessname_status
# example : proc_master_status pour postfix master process
cmd=`basename "$0"`
process=`echo "$cmd"| cut -d'_' -f 2`
pid=`pgrep -o -x "$process"`
#echo $pid
if [ "$1" = "autoconf" ]; then
if [ -r /proc/$pid/status ]; then
echo yes
exit 0
else
echo no
exit 1
fi
fi
if [ "$1" = "config" ]; then
echo "graph_title Memory usage for process $process"
echo "graph_order VmExe VmLib VmStk VmData VmRSS VmSize"
echo 'graph_vlabel Ko'
echo 'graph_scale no'
echo "graph_info This graph display memory usage for a process"
echo 'graph_category processes'
2008-05-07 23:46:03 +02:00
echo 'graph_period second'
echo 'VmExe.label VmExe'
echo 'VmExe.draw AREA'
echo "VmExe.info The size of the executable segment"
2008-05-07 23:46:03 +02:00
echo 'VmLib.label VmLib'
echo 'VmLib.draw STACK'
echo 'VmLib.info The size of the library code'
2008-05-07 23:46:03 +02:00
echo 'VmStk.label VmStk'
echo 'VmStk.draw STACK'
echo 'VmStk.info The stack size'
2008-05-07 23:46:03 +02:00
echo 'VmLck.label VmLck'
echo 'VmLck.draw STACK'
echo 'VmLck.info The amount of locked memory'
2008-05-07 23:46:03 +02:00
echo 'VmData.label VmData'
echo 'VmData.draw STACK'
echo 'VmData.info The size of the Data segment'
2008-05-07 23:46:03 +02:00
echo 'VmRSS.label VmRSS'
echo 'VmRSS.draw LINE2'
echo 'VmRSS.info The amount of memory mapped in RAM ( instead of swapped out)'
2008-05-07 23:46:03 +02:00
echo 'VmSize.label VmSize'
echo 'VmSize.draw LINE2'
echo 'VmSize.info The size of the virtual memory allocated to the process'
exit 0
fi
cat /proc/$pid/status |grep -E '^Vm' | sed -e 's/:/.value/' -e 's/\s\+kB$//' -e 's/\s\+/ /'