Skip to content
Snippets Groups Projects
Commit 1f9352d4 authored by Hahn Axel (hahn)'s avatar Hahn Axel (hahn)
Browse files

Merge branch 'cpu-check-remove-pipes' into 'master'

replace pipe to prevent start of metrics section

See merge request !32
parents 67972e3d dab2cee1
Branches
No related tags found
1 merge request!32replace pipe to prevent start of metrics section
......@@ -19,13 +19,14 @@
# 2022-03-10 v1.8 <axel.hahn@iml.unibe.ch> add cli param -p; update help
# 2022-03-22 v1.9 <axel.hahn@iml.unibe.ch> fix syntax error on 100% idle
# 2022-04-14 v1.10 <axel.hahn@iml.unibe.ch> show consuming cpu processes with top and ps
# 2022-08-29 v1.11 <axel.hahn@iml.unibe.ch> replace pipe to prevent start of metrics section
# ======================================================================
. $(dirname $0)/inc_pluginfunctions
self_APPNAME=$( basename $0 | tr [:lower:] [:upper:] )
self_APPVERSION=1.9
self_APPVERSION=1.11
# ----------------------------------------------------------------------
# functions
......@@ -45,6 +46,9 @@ ______________________________________________________________________
check cpu usage and cpu wait
Cpu infos are taken from output of top command.
Oh higher cpu usage it can show processes that cause cpu waits and
with most cpu consumption.
SYNTAX:
$(basename $0) [-w WARN_LIMIT] [-c CRITICAL_LIMIT] [-i CRITICAL_IO_WAIT] [-p PROCESS_LIMIT]
......@@ -147,7 +151,9 @@ ph.status "CPU-USAGE [%] ${cpuNonIdle} ... user: ${cpuUser} - system: ${cpuSyste
# v1.6: show processes of cpu wait (status D in proces list)
plist=$( ps aux | awk '$8 ~ /(D|STAT)/ { print $0 }' )
echo "$plist" | grep "[0-9]" >/dev/null \
# replace pipe to prevent start of metrics section
echo "$plist" | tr '|' ':' | grep "[0-9]" >/dev/null \
&& echo \
&& echo "For analysis of cpu waits - processes with status D:" \
&& echo "$plist"
......@@ -161,7 +167,7 @@ if [ $iUsed -gt $iMinCpuUsageToShowProcesses ]; then
topout=$( top -b -n 1 -d 0.1 )
typeset -i iStart=$( echo "$topout" | grep -n "PID.*USER" | cut -f 1 -d ':' )
typeset -i iEnd=$iStart+5
echo "$topout" | sed -n "${iStart},${iEnd}p"
echo "$topout" | sed -n "${iStart},${iEnd}p" | tr '|' ':'
echo
echo "output of ps:"
ps aux | head -1; ps aux | sort -nrk 3,3 | head -n 5
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment