Comment puis-je déterminer la quantité totale de mémoire physique (RAM) de ma boîte linux adapté pour être analysé par un script shell?

Je suis en tapant un script shell pour trouver la mémoire physique totale dans certains RHEL linux boîtes.

Tout d'abord, je tiens à souligner que je suis intéressé par le mémoire physique totale reconnu par le noyau, et pas seulement les mémoire disponible. Donc, merci d'éviter les réponses suggérant de lire /proc/meminfo ou d'utiliser le gratuit, haut ou sar commandes -- Dans tous ces cas, leur "de mémoire totale de" valeurs moyennes "mémoire disponible" ceux.

La première pensée a été de lire le noyau de messages:

Memory: 61861540k/63438844k available (2577k kernel code, 1042516k reserved, 1305k data, 212k init)

Mais dans certaines boîtes de linux, en raison de l'utilisation d'EMC2 du logiciel PowerPath et ses inondations les messages de démarrage du noyau de démarrage, ce qui utile de démarrage du noyau message n'est pas disponible, pas même dans le /var/log/dmesg fichier.

La deuxième option était la dmidecode de commande (je suis mis en garde contre la possible incompatibilité de noyau reconnu de la RAM et de la mémoire vive en raison des limitations de certains anciens noyaux et les architectures). L'option --mémoire simplifie le script mais j'ai réalisé que les anciennes versions de cette commande n'a aucun --mémoire option.

Ma dernière chance a été la getconf de commande. Il indique la taille de page de mémoire, mais pas le nombre total de pages physiques -- le _PHYS_PAGES variable système semble être à la disposition des pages physiques, non pas le nombre total de pages physiques.

# getconf -a | grep PAGES 
PAGESIZE 4096 
_AVPHYS_PAGES 1049978 
_PHYS_PAGES 15466409 

Ma question: Est-il un autre moyen d'obtenir la quantité totale de mémoire physique, apte à être analysé par un script shell?

  • Cela devrait être migré vers linux & unix
InformationsquelleAutor Jdamian | 2013-12-03