at master 603 B view raw
1#!/usr/bin/env bash 2 3awk ' 4/^MemTotal:/ { 5 mem_total=$2 6} 7/^MemFree:/ { 8 mem_free=$2 9} 10/^Buffers:/ { 11 mem_free+=$2 12} 13/^Cached:/ { 14 mem_free+=$2 15} 16/^SwapTotal:/ { 17 swap_total=$2 18} 19/^SwapFree:/ { 20 swap_free=$2 21} 22END { 23 swap_used=(swap_total-swap_free)/1024/1024 24 swap_free=swap_free/1024/1024 25 swap_total=swap_total/1024/1024 26 27 free=mem_free/1024/1024 28 used=(mem_total-mem_free)/1024/1024 29 total=mem_total/1024/1024 30 31 swap_pct=0 32 if (swap_total > 0) { 33 swap_pct=swap_used/swap_total*100 34 } 35 36 pct=0 37 if (total > 0) { 38 pct=used/total*100 39 } 40 41 printf(" %.f%%(%.f%%)\n", pct, swap_pct) 42} 43' /proc/meminfo