Home Projects Blog Movies Photos Miscellaneous About

Notes for working

#!/bin/bash

# Leer la primera muestra
read -r _ user nice system idle iowait irq softirq steal _ < /proc/stat
prev_idle=$((idle + iowait))
prev_total=$((user + nice + system + idle + iowait + irq + softirq + steal))

sleep 1

# Leer la segunda muestra
read -r _ user nice system idle iowait irq softirq steal _ < /proc/stat
now_idle=$((idle + iowait))
now_total=$((user + nice + system + idle + iowait + irq + softirq + steal))

# Calcular diferencias
diff_idle=$((now_idle - prev_idle))
diff_total=$((now_total - prev_total))

# Calcular porcentaje de uso
# (1 - diff_idle/diff_total) * 100
usage=$(awk "BEGIN {printf \"%.2f\", ($diff_total - $diff_idle) * 100 / $diff_total}")

echo "Uso actual del CPU: $usage%"