## Check CPU Script: `check_cpu` It is a plugin to check cpu usage and cpu io wait. It reads cpu data from output of top command and shows hwi - Time spent handling hardware interrupt routines. (Whenever a peripheral unit want attention form the CPU, it literally pulls a line, to signal the CPU to service it) swi - Time spent handling software interrupt routines. (a piece of code, calls an interrupt routine...) st - Time spent on involuntary waits by virtual cpu while hypervisor is servicing another processor (stolen from a virtual machine) nice - Time spent running niced user processes (User defined priority) wait - Time spent on waiting on IO peripherals (eg. disk) system - Time spent in kernel space user - Time spent in user space idle - Time spent in idle operations For all values it sends performance data. If there are processes with status D they will be shown (to analyze cpu waits). ## Syntax ``$ check_cpu [-c CRITICAL] [-w WARING] [-i CRITICAL_IO]`` ### Parameters ```text -w VALUE cpu usage warning level (default: 75) -c VALUE cpu usage critical level (default: 90) -i VALUE io wait critical level (default: 50) -h or --help show this help. ``` ## Examples ``check_cpu -w 60 -c 80 -i 40`` check cpu usage. It shows a warning if usage is higer 60%. It shows critical status if usage is higer 80% or io wait is 40% ```txt ./check_cpu -w 60 -c 80 -i 40 OK: CPU-USAGE [%] 11.3 ... user: 6.2 - system: 4.1 - idle: 88.7 - wait: 0.0 Limits: usage warn at 60 .. critical at 80 .. io wait limit 40 INFO : cpu is in normal ranges. Legend: hwi - Time spent handling hardware interrupt routines. (Whenever a peripheral unit want attention form the CPU, it literally pulls a line, to signal the CPU to service it) swi - Time spent handling software interrupt routines. (a piece of code, calls an interrupt routine...) st - Time spent on involuntary waits by virtual cpu while hypervisor is servicing another processor (stolen from a virtual machine) nice - Time spent running niced user processes (User defined priority) wait - Time spent on waiting on IO peripherals (eg. disk) system - Time spent in kernel space user - Time spent in user space idle - Time spent in idle operations |cpu-usage=11.3;60;80;0;100 cpu-wait=0.0;;40;0;100 cpu-system=4.1;;;0;100 cpu-user=6.2;;;0;100 cpu-idle=88.7;;;0;100 cpu-nice=0.0;;;0;100 cpu-hwi=0.5;;;0;100 cpu-swi=0.5;;;0;100 cpu-st=0.0 ```