Haben Sie cat /proc/meminfo
versucht ? Sie können dann awken oder grep heraus, was Sie wollen, MemTotal z. B.
awk '/MemTotal/ {print $2}' /proc/meminfo
oder
cat /proc/meminfo | grep MemTotal
Wenn Sie sich für den physischen Arbeitsspeicher interessieren, verwenden Sie den Befehl dmidecode
. Es gibt Ihnen viel mehr Informationen als nur das, aber abhängig von Ihrem Anwendungsfall möchten Sie vielleicht auch wissen, ob die 8G im System von 2x4GB-Sticks oder 4x2GB-Sticks stammen.
cat /proc/meminfo | grep MemTotal
oder kostenlos gibt Ihnen die genaue Menge an RAM, über die Ihr Server verfügt. Dies ist kein "verfügbarer Speicher".
Ich denke, Ihr Problem tritt auf, wenn Sie eine VM haben und die gesamte vom Hypervisor gehostete Speichermenge berechnen möchten, aber Sie müssen sich in diesem Fall beim Hypervisor anmelden.
cat /proc/meminfo | grep MemTotal
entspricht
getconf -a | grep PAGES | awk 'BEGIN {total = 1} {if (NR == 1 || NR == 3) total *=$NF} END {print total / 1024" kB"}'