Wie kann ich den gesamten physikalischen Speicher (RAM) meiner Linux-Box herausfinden, der von einem Shell-Skript analysiert werden kann?

Ich Schreibe ein shell-Skript, um herauszufinden, den gesamten physischen Speicher in einigen RHEL linux-Boxen.

Zunächst möchte ich betonen, dass ich bin interessiert in der gesamten physischen Speicher erkannt wird vom kernel nicht nur die verfügbaren Speicher. Daher, bitte, vermeiden Sie Antworten, die darauf hindeutet, zu Lesen /proc/meminfooder verwenden Sie die freitop oder sar Befehle -- In allen diesen Fällen ist Ihre "Speicher insgesamt" Werte bedeuten "verfügbaren Speicher".

Der erste Gedanke war, Lesen Sie den boot-kernel-Meldungen:

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

Aber in einigen linux-Boxen, die durch die Nutzung der EMC2 - PowerPath-software und deren überschwemmungen - boot-Meldungen in das kernel startup, dass sich nützliche boot-kernel-message ist nicht verfügbar, auch nicht in den /var/log/dmesg Datei.

Die zweite option war die dmidecode Befehl (ich bin gewarnt vor den möglichen mismatch von kernel erkannt RAM und real RAM, durch die Einschränkungen von einigen älteren Kernel und Architekturen). Die option - memory vereinfacht das Skript, aber ich merkte, dass ältere Versionen dieses Befehls hat keine - memory option.

Meine Letzte chance war die getconf Befehl. Es meldet die Speicher-Größe der Seite, aber nicht die Anzahl der physischen Seiten -- die _PHYS_PAGES system-variable zu sein scheint, den verfügbaren physischen Seiten, die nicht den gesamten physischen Seiten.

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

Meine Frage: gibt es einen anderen Weg, um die Gesamtgröße des physischen Speichers, geeignet, um analysiert zu werden, indem Sie ein shell-Skript aus?

InformationsquelleAutor der Frage Jdamian | 2013-12-03

Schreibe einen Kommentar