En OS X, obtengo una buena lectura de memoria del sistema legible para humanos de esta manera:
printf -v system_memory \
"$(system_profiler SPHardwareDataType \
| awk -F ': ' '/^ +Memory: /{print $2}')"
echo "$system_memory"
imprime el amistoso:
4 GB
Aunque esto en Linux es correcto:
lshw -class memory
produce:
size: 4096MiB
Necesito analizarlo dolorosamente e intentar convertirlo en una cuerda tan bonita como la de arriba.
¿Estoy usando el comando incorrecto?
memory
system-information
Robottinosino
fuente
fuente

Respuestas:
Si eso es todo lo que necesitas, solo usa
free:freedevuelve información de la memoria, el-hinterruptor le dice que imprima en formato legible para humanos.fuente
freetenía un-hinterruptor (agradable) . Gracias. Muy interesante cómofreeconsidera4.0G(que es lo que obtengo) más amigable con los humanos que4 GB. "Mamá, tengo hambre, me gustaría 1.0 manzana, por favor". Si esto es lo mejor que tenemos en Linux, probablemente debería simplemente analizar el número y reemplazarloGcon elGBmismo .. Muy pocas veces nos vemos discos duros, por ejemplo, se anuncia como "320 g" en lugar de "320 GB". :(GB, intentefree -h | gawk '/Mem:/{print $2}' | rev | cut -c 2- | rev | xargs printf "%.*fGB\n" 0En Linux,
Almacenaría la cantidad total de mem
$memoryen número de kiB. Esa es la cantidad de memoria disponible para Linux, la misma que informófree.Si desea la RAM instalada, puede hacer cosas como:
Para obtener el tamaño en MiBs. O
Si quieres el tamaño en GiB.
fuente
La forma más simple es usar el comando libre
fuente