Mac Memory One Liners
while true; do clear; vm_stat | perl -ne 'BEGIN{$ps=16384} /Pages (free|active|inactive|speculative|wired down|occupied by compressor):.*?(\d+)/ and $v{$1}=$2; /(Decompressions|Compressions):.*?(\d+)/ and $c{$1}=$2; END { $u=($v{active}+$v{inactive}+$v{"wired down"}+$v{speculative}+$v{"occupied by compressor"})*$ps/1024**3; $a=($v{free}+$v{inactive}+$v{speculative})*$ps/1024**3; $co=$v{"occupied by compressor"}*$ps/1024**3; $dc=$c{Decompressions}-$prev_dc; $cc=$c{Compressions}-$prev_cc; printf "Total Available: %.2f GB | Used: %.2f GB (%.2fGB Compressed)\n", $a, $u, $co; printf "ACTIVITY (last sec): Compressions: %d | Decompressions: %d\n", $cc, $dc if defined $prev_cc; }' 2>/dev/null; sleep 1; done
% while true; do clear; vm_stat | perl -ne 'BEGIN{$ps=16384} /Pages (free|active|inactive|speculative|wired down|occupied by compressor):.*?(\d+)/ and $v{$1}=$2; END { $u=($v{active}+$v{"wired down"}+$v{"occupied by compressor"})*$ps/1024**3; $a=($v{free}+$v{inactive}+$v{speculative})*$ps/1024**3; $f=$v{free}*$ps/1024**3; printf "Truly Free: %.2f GB | Total Available: %.2f GB | (Used: %.2f GB)\n", $f, $a, $u }'; sleep 1; done