Unter OS X erhalte ich einen schönen lesbaren Systemspeicher, der wie folgt aussieht :
printf -v system_memory \
"$(system_profiler SPHardwareDataType \
| awk -F ': ' '/^ +Memory: /{print $2}')"
echo "$system_memory"
druckt das freundliche aus:
4 GB
Obwohl dies unter Linux richtig ist:
lshw -class memory
es gibt aus:
size: 4096MiB
Ich muss es schmerzhaft analysieren und versuchen, es zu einer Zeichenfolge zu machen, die so schön ist wie die oben genannte.
Benutze ich den falschen Befehl?
memory
system-information
Robottinosino
quelle
quelle
Antworten:
Wenn das alles ist, was Sie brauchen, verwenden Sie einfach
free
:free
Gibt die Speicherinformationen zurück und der-h
Schalter weist ihn an, in einem für Menschen lesbaren Format zu drucken.quelle
free
hatte einen (schönen)-h
Schalter. Vielen Dank. Sehr interessant, wiefree
erachtet4.0G
(was ich bekomme) menschlicher als4 GB
. "Mama, ich habe Hunger, ich hätte gerne 1.0 Apfel, bitte." Ist dies der beste , den wir auf Linux haben, sollte ich wahrscheinlich analysieren nur die Anzahl und ersetzenG
mitGB
mir .. Sehr selten tun wir HDDs zu sehen, zum Beispiel, beworben als „320G“ statt „320 GB“. :(GB
free -h | gawk '/Mem:/{print $2}' | rev | cut -c 2- | rev | xargs printf "%.*fGB\n" 0
Unter Linux
Würde den gesamten Mem-Betrag in speichern
$memory
in kiB . Das ist die Menge an Arbeitsspeicher, die Linux zur Verfügung steht, genau wie von gemeldetfree
.Wenn Sie den installierten Arbeitsspeicher benötigen, können Sie Folgendes tun:
Um die Größe in MiBs zu erhalten. Oder
Wenn Sie die Größe in GiB wollen.
quelle
Der einfachste Weg ist die Verwendung eines freien Befehls
quelle