Skip to content
Snippets Groups Projects

replace pipe to prevent start of metrics section

1 file
+ 9
3
Compare changes
  • Side-by-side
  • Inline
+ 9
3
@@ -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
Loading