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
:free
devuelve información de la memoria, el-h
interruptor le dice que imprima en formato legible para humanos.fuente
free
tenía un-h
interruptor (agradable) . Gracias. Muy interesante cómofree
considera4.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 reemplazarloG
con elGB
mismo .. 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" 0
En Linux,
Almacenaría la cantidad total de mem
$memory
en 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