Mac OS X sysctl obtiene el tamaño de memoria total y libre


Respuestas:


8

Usted no

Bueno, excepto por el tamaño total de la memoria, que podría haber encontrado con sysctl -a | grep mem( hw.memsize = 4294967296en mi máquina).

vm_statmuestra la misma información que lo Activity Monitor.apphace, solo necesita multiplicar el valor que desea por el tamaño de la página. Ambos se proporcionan en la salida.


vm_stat: páginas libres: 12054 .. 12054 * 4096/1024/1024 = 47,08 y supervisión de actividad muestra: 103 MB grab.by/6KSD VM_stats de salida: pastebin.com/BJcxPswv ¿Por qué me sale valores erróneos?
— kesrut

1
Añadir Pages speculativea los gratuitos. Es posible que haya notado que libre + activo + inactivo + cableado no se agrega al tamaño total que se muestra en el Monitor de actividad.
— Daniel Beck

3
el grepno parece requerido - en mi MacBook Pro, sysctl hw.memsizetambién funciona e imprimehw.memsize: 8589934592
— ssc

3
top -l 1 | grep PhysMem: | awk '{print $10}'

top -l 1se ejecuta topen modo de registro (por ejemplo, salida de archivo, no salida de pantalla / terminal) durante una iteración, luego se cierra. Los filtros grep/ awkpara el valor de memoria libre en la topsalida.


YMMV. En Sierra, top -l 1 | grep PhysMem:me da, PhysMem: 9674M used (1752M wired), 6701M unused.así que solía top -l 1 | grep PhysMem: | awk '{print $6}'. ¡Gracias!
— pyb

1

¿Por qué no usar el topcomando para ver su uso de memoria en tiempo real?

ACTUALIZAR:

Puede usar los siguientes comandos:

sysctl -a | grep hw.usermem
sysctl -a | grep hw.physmem

Para una lista completa, escriba man sysctl en la terminal.


Probablemente para usar en un guión.
— Daniel Beck

2
Ambos usermemy physmemmuestran valores inútiles para sistemas de más de 2 GB de RAM. Probablemente ambos estén limitados por un entero de 32 bits con signo.
— Daniel Beck

Tal vez pueda usar top para obtener una salida única. Después de obtener la salida, analizaré los valores necesarios.
— kesrut

Uso inútil de grep... sysctl hw.memsize= total sysctl hw.physmem,sysctl hw.usermem
— TrinitronX

@DanielBeck tiene razón, hw.memsizees lo que probablemente quieras para el total. Vea mi comentario aquí para obtener más información
— TrinitronX

1

mac os x / linux

$ sysctl -a | grep '^hw\.m'
hw.memsize: 8589934592

Esto parece un pequeño ajuste a las respuestas existentes. Probablemente más apropiado como comentario.
— Fixer1234

1

No se necesita grep.

sysctl -n hw.memsize
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.