¿Cómo calcular la memoria usada en Mac OS por línea de comando?

A continuación se muestra una captura de pantalla de Activity Monitor en mac os. Me pregunto qué línea de comando puedo usar para obtener el uso de la memoria. Intenté debajo del comando:

$ top -l 1 -n 0
Processes: 399 total, 3 running, 396 sleeping, 2460 threads 
2018/03/07 19:54:01
Load Avg: 7.41, 6.55, 6.23 
CPU usage: 58.38% user, 12.97% sys, 28.63% idle 
SharedLibs: 191M resident, 54M data, 24M linkedit.
MemRegions: 193162 total, 6016M resident, 107M private, 3067M shared.
PhysMem: 16G used (3042M wired), 70M unused.
VM: 2858G vsize, 1100M framework vsize, 178320755(0) swapins, 184739800(0) swapouts.
Networks: packets: 10995802/17G in, 9674758/13G out.
Disks: 15617288/823G read, 11170324/846G written.

Estas dos lineas:

MemRegions: 193162 total, 6016M resident, 107M private, 3067M shared.
PhysMem: 16G used (3042M wired), 70M unused.

me dice la memoria física (16G + 70M), la memoria cableada (3042M) y la memoria comprimida (107M + 3067M). Pero no sé cómo calcular la memoria de la aplicación que se muestra en la captura de pantalla. ¿Alguien sabe cómo obtener el valor de la memoria de la aplicación? Necesito ese para calcular la memoria total utilizada en Mac OS.

ingrese la descripción de la imagen aquí

Respuestas (1)

Puede usar el equivalente de macOS a Unix vmstat, que es vm_stat.

➜ vm_stat
Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free:                              139824.
Pages active:                           1673261.
Pages inactive:                         1073096.
Pages speculative:                         2909.
Pages throttled:                              0.
Pages wired down:                        788478.
Pages purgeable:                         226206.
[...]

Para calcular la memoria, multiplica el número de páginas por el tamaño de página (4096 bytes) y divide por 1024 para ajustar el prefijo a tus necesidades.

Puede obtener el tamaño real de la página ejecutando pagesize, en lugar de suponer que siempre es 4096.