Dotfiles-dwm/dwmbar/modules/cpuload

33 lines
647 B
Plaintext
Raw Normal View History

2024-06-02 11:02:06 +00:00
#!/bin/bash
# Prints out the CPU load percentage
PREFIX=' '
get_load()
{
# Get the first line with aggregate of all CPUs
cpu_last=($(head -n1 /proc/stat))
cpu_last_sum="${cpu_last[@]:1}"
cpu_last_sum=$((${cpu_last_sum// /+}))
sleep 0.05
cpu_now=($(head -n1 /proc/stat))
cpu_sum="${cpu_now[@]:1}"
cpu_sum=$((${cpu_sum// /+}))
cpu_delta=$((cpu_sum - cpu_last_sum))
cpu_idle=$((cpu_now[4]- cpu_last[4]))
cpu_used=$((cpu_delta - cpu_idle))
cpu_usage=$((100 * cpu_used / cpu_delta))
# Keep this as last for our next read
cpu_last=("${cpu_now[@]}")
cpu_last_sum=$cpu_sum
echo "$PREFIX $cpu_usage%"
}
get_load