38 lines
796 B
Bash
38 lines
796 B
Bash
#!/bin/sh
|
|
|
|
slug='swap-usage'
|
|
name='Swap'
|
|
available=1
|
|
recommend=0
|
|
|
|
THRESHOLD=90
|
|
|
|
|
|
swap_total=$(awk '/^SwapTotal:/ {print $2}' /proc/meminfo)
|
|
|
|
if [ "${swap_total:-0}" -eq 0 ] 2>/dev/null; then
|
|
available=0
|
|
fi
|
|
|
|
check() {
|
|
swap_free=$(awk '/^SwapFree:/ {print $2}' /proc/meminfo)
|
|
|
|
swap_used_pct=$(
|
|
awk -v t="$swap_total" -v f="$swap_free" '
|
|
BEGIN {
|
|
if (t > 0) {
|
|
used = t - f;
|
|
pct = (used * 100) / t;
|
|
printf "%d", pct;
|
|
}
|
|
}
|
|
'
|
|
)
|
|
|
|
if [ "$swap_used_pct" -ge "$THRESHOLD" ] 2>/dev/null; then
|
|
warn "swap" "$swap_used_pct" "Swap usage is at ${swap_used_pct}%"
|
|
else
|
|
ok "swap" "$swap_used_pct" "Swap usage is at ${swap_used_pct}%"
|
|
fi
|
|
}
|