Files
pwa-homelab-mon/scripts/mem.sh
T
alexey.bagno 28702bd029
Deploy / deploy (push) Successful in 8s
Monitor update
2026-08-31 22:42:40 +05:00

16 lines
750 B
Bash
Executable File

#!/bin/sh
# RAM: процент занятого + строка занято/всего. Linux + mac.
# Контракт мониторов: 1-я строка — процент, дальше — key=value.
# ponytail: used = сумма RSS процессов (без кэшей ОС) — на mac «доступно» дёшево не получить;
# если нужен точный linux used — /proc/meminfo MemAvailable.
case "$(uname)" in
Darwin) total_kb=$(( $(sysctl -n hw.memsize) / 1024 )) ;;
*) total_kb=$(awk '/MemTotal/ {print $2}' /proc/meminfo) ;;
esac
ps -A -o rss=,%mem= | awk -v t="$total_kb" '
{rss+=$1; mem+=$2}
END {
printf "%d\n", mem
printf "занято=%.1f / %.1f ГБ\n", rss/1048576, t/1048576
}'