Sur OS X, j'obtiens une belle lecture de mémoire système lisible par l'homme comme ceci:
printf -v system_memory \
"$(system_profiler SPHardwareDataType \
| awk -F ': ' '/^ +Memory: /{print $2}')"
echo "$system_memory"
imprime l'amical:
4 GB
Bien que cela soit correct sur Linux:
lshw -class memory
il génère:
size: 4096MiB
J'ai besoin de l'analyser péniblement et d'essayer d'en faire une chaîne aussi agréable que celle ci-dessus.
Suis-je en train d'utiliser la mauvaise commande?
memory
system-information
Robottinosino
la source
la source
Réponses:
Si c'est tout ce dont vous avez besoin, utilisez simplement
free
:free
renvoie des informations sur la mémoire, le-h
commutateur lui indique d'imprimer dans un format lisible par l'homme.la source
free
avait un (joli)-h
interrupteur. Merci. Très intéressant de voir commentfree
Deems4.0G
( ce qui est ce que je reçois) plus respectueux de l' humain que4 GB
. "Maman, j'ai faim, j'aimerais 1.0 pomme, s'il te plait." Si c'est le meilleur que nous ayons sur Linux, je devrais probablement juste analyser le nombre et le remplacerG
parGB
moi-même. Très rarement, nous voyons des disques durs, par exemple, annoncés comme "320G" plutôt que "320 Go". :(GB
, essayezfree -h | gawk '/Mem:/{print $2}' | rev | cut -c 2- | rev | xargs printf "%.*fGB\n" 0
Sous Linux,
$memory
Stockerait le montant total de mem en nombre de kiB. C'est la quantité de mémoire disponible pour Linux, la même que celle rapportée parfree
.Si vous voulez la RAM installée, vous pouvez faire des choses comme:
Pour obtenir la taille en Mio. Ou
Si vous voulez la taille en Gio.
la source
La manière la plus simple est d'utiliser la commande libre
la source