Hai provato cat /proc/meminfo
? Puoi quindi awk o grep fuori quello che vuoi, MemTotal ad esempio
awk '/MemTotal/ {print $2}' /proc/meminfo
o
cat /proc/meminfo | grep MemTotal
Se sei interessato alla RAM fisica, usa il comando dmidecode
. Ti dà molto più informazioni oltre a queste, ma a seconda del caso d'uso, potresti anche voler sapere se l'8G nel sistema proviene da 2 stick da 4 GB o da 4 stick da 2 GB.
cat /proc/meminfo | grep MemTotal
o gratuito ti dà la quantità esatta di RAM del tuo server. Questa non è "memoria disponibile".
Immagino che il tuo problema si presenti quando hai una VM e vorresti calcolare l'intera quantità di memoria ospitata dall'hypervisor, ma in tal caso dovrai accedere all'hypervisor.
cat /proc/meminfo | grep MemTotal
è equivalente a
getconf -a | grep PAGES | awk 'BEGIN {total = 1} {if (NR == 1 || NR == 3) total *=$NF} END {print total / 1024" kB"}'