#!/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 }'