Avez-vous essayé cat /proc/meminfo
? Vous pouvez alors awk ou grep ce que vous voulez, MemTotal ex.
awk '/MemTotal/ {print $2}' /proc/meminfo
ou
cat /proc/meminfo | grep MemTotal
Si vous êtes intéressé par la RAM physique, utilisez la commande dmidecode
. Cela vous donne beaucoup beaucoup plus d'informations que cela, mais selon votre cas d'utilisation, vous voudrez peut-être également savoir si le 8G du système provient de bâtons de 2 x 4 Go ou de 4 x 2 Go.
cat /proc/meminfo | grep MemTotal
ou free vous donne la quantité exacte de RAM dont dispose votre serveur. Ce n'est pas de la "mémoire disponible".
Je suppose que votre problème survient lorsque vous avez une machine virtuelle et que vous souhaitez calculer la quantité totale de mémoire hébergée par l'hyperviseur, mais vous devrez vous connecter à l'hyperviseur dans ce cas.
cat /proc/meminfo | grep MemTotal
est équivalent à
getconf -a | grep PAGES | awk 'BEGIN {total = 1} {if (NR == 1 || NR == 3) total *=$NF} END {print total / 1024" kB"}'