Comment puis-je connaître la mémoire physique totale (RAM) de ma machine Linux pouvant être analysée par un script shell?


Jdamian:

Je tape un script shell pour connaître la mémoire physique totale dans certaines boîtes Linux RHEL.

Tout d'abord, je tiens à souligner que je suis intéressé par la mémoire physique totale reconnue par le noyau, pas seulement la mémoire disponible . Par conséquent, évitez les réponses suggérant de lire / proc / meminfo ou d'utiliser les commandes free , top ou sar - Dans tous ces cas, leurs valeurs " mémoire totale " signifient celles de " mémoire disponible ".

La première pensée a été de lire les messages du noyau de démarrage:

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 du logiciel PowerPath de EMC2 et ses inondations messages de démarrage dans le démarrage du noyau, ce message du noyau de démarrage utile n'est pas disponible, même pas dans le répertoire / var / log / dmesg fichier.

La deuxième option était la commande dmidecode (je suis mis en garde contre la possible discordance entre la RAM reconnue par le noyau et la RAM réelle en raison des limitations de certains noyaux et architectures plus anciens). L'option --memory simplifie le script mais j'ai réalisé que les anciennes versions de cette commande n'avaient pas d' option --memory .

Ma dernière chance était la commande getconf . Il indique la taille de la page mémoire, mais pas le nombre total de pages physiques - la variable système _PHYS_PAGES semble être les pages physiques disponibles, pas le nombre total de pages physiques.

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

Ma question: existe-t-il un autre moyen d'obtenir la quantité totale de mémoire physique, susceptible d'être analysée par un script shell?

user3070163:

Si vous êtes intéressé par la RAM physique, utilisez la commande dmidecode. Cela vous donne beaucoup plus d'informations que cela, mais en fonction de votre cas d'utilisation, vous voudrez peut-être également savoir si les 8G du système proviennent de clés de 2x4 Go ou de clés 4x2 Go.

Articles connexes