6
scripts/system-stats.sh
Normal file → Executable file
6
scripts/system-stats.sh
Normal file → Executable file
@ -11,10 +11,12 @@ cd "$(dirname "$0")/.."
|
||||
source scripts/configure-metrics.sh
|
||||
|
||||
while true; do
|
||||
# collect top twice because the first time is inaccurate
|
||||
top_ouput="$(top -bn2 -d1)"
|
||||
# collect the total cpu usage by subtracting idle usage from 100%
|
||||
cpu_usage=$(top -bn1 | grep '%Cpu(s):' | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}')
|
||||
cpu_usage=$(echo "${top_ouput}" | grep '%Cpu(s):' | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | tail -1 | awk '{print 100 - $1}')
|
||||
# collect the total ram usage by dividing used memory / total memory
|
||||
ram_total_and_usage=$(top -bn1 | grep 'MiB Mem'| sed "s/.*: *\([0-9.]*\)%* total.*, *\([0-9.]*\)%* used.*/\1 \2/")
|
||||
ram_total_and_usage=$(echo "${top_ouput}" | grep '.*B Mem'| tail -1 | sed "s/.*: *\([0-9.]*\)%* total.*, *\([0-9.]*\)%* used.*/\1 \2/")
|
||||
read -r total used <<< "$ram_total_and_usage"
|
||||
ram_usage=$(awk "BEGIN {print $used / $total * 100}")
|
||||
|
||||
|
Reference in New Issue
Block a user