Me gustaría saber si hay un comando (o conjunto de comandos) que calcula cada uno de los parámetros (Memoria virtual, Caché de archivos y Memoria de la aplicación) que se enumeran en la captura de pantalla anterior.
Me gustaría saber si hay un comando (o conjunto de comandos) que calcula cada uno de los parámetros (Memoria virtual, Caché de archivos y Memoria de la aplicación) que se enumeran en la captura de pantalla anterior.
Puede usar los comandos de terminal vm_stat
y sysctl
. Si bien no había una forma directa ni documentación sobre cómo extraer los nuevos atributos de estos comandos, tuvimos que hacer algunas pruebas y errores hasta que descubrimos las relaciones entre los parámetros en los comandos y el atributo que necesitamos calcular.
Los pasos son los siguientes:
vm_stat
Salida de muestra de vm_stat
:
Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free: 24428.
Pages active: 1039653.
Pages inactive: 626002.
Pages speculative: 184530.
Pages throttled: 0.
Pages wired down: 156244.
Pages purgeable: 9429.
"Translation faults": 14335334.
Pages copy-on-write: 557301.
Pages zero filled: 5682527.
Pages reactivated: 74.
Pages purged: 52633.
File-backed pages: 660167.
Anonymous pages: 1190018.
Pages stored in compressor: 644.
Pages occupied by compressor: 603.
Decompressions: 18.
Compressions: 859.
Pageins: 253589.
Pageouts: 0.
Swapins: 0.
Swapouts: 0.
Creo que entre top
y vm_stat
podría obtener la mayor parte de esa salida, aunque en una forma menos legible. (¿Por qué quieres leerlo desde el terminal, curiosidad?)
top
tiene la mayoría de las estadísticas de memoria virtual y física, pero vm_stats
tiene la cantidad de comprimidos, y ambos tienen intercambio, aunque gracias a una compresión baja.
No se pudieron encontrar las especificaciones de la aplicación y de la memoria de la aplicación, están incluidas en el recuento de memoria virtual.
vm_stats:
Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free: 262614.
Pages active: 818894.
Pages inactive: 287658.
Pages speculative: 46300.
Pages throttled: 0.
Pages wired down: 411565.
Pages purgeable: 56793.
"Translation faults": 255617431.
Pages copy-on-write: 10812762.
Pages zero filled: 165910381.
Pages reactivated: 3419113.
Pages purged: 2058688.
File-backed pages: 246635.
Anonymous pages: 906217.
Pages stored in compressor: 396258.
Pages occupied by compressor: 269783.
Decompressions: 625574.
Compressions: 1816628.
Pageins: 1693962.
Pageouts: 223513.
Swapins: 0.
Swapouts: 0.
arriba:
Processes: 253 total, 2 running, 6 stuck, 245 sleeping, 1101 threads 14:53:50
Load Avg: 1.42, 1.43, 1.62 CPU usage: 8.52% user, 5.97% sys, 85.50% idle
SharedLibs: 120M resident, 0B data, 26M linkedit.
MemRegions: 70307 total, 2561M resident, 107M private, 577M shared.
PhysMem: 5919M used (1608M wired), 1218M unused.
VM: 631G vsize, 1312M framework vsize, 0(0) swapins, 0(0) swapouts.
Networks: packets: 7933197/5221M in, 5685549/2563M out.
Disks: 1748536/37G read, 1726987/42G written.
Editar: Ok, busqué una herramienta que pudiera encontrar ese valor de la memoria virtual. Creo que el valor de la memoria virtual que se muestra en 'Monitor de actividad' es la cantidad de memoria que realmente se está utilizando. Mientras que 'top' muestra toda la memoria virtual, y la mayoría no se ha colocado en algún lugar. Los programas pueden solicitar mucha más memoria de la que usarán, y como se trata de una memoria virtual, no cuesta nada que se les permita tener un gran espacio de vm siempre y cuando no lo utilicen. Este enlace tiene una herramienta de reemplazo superior Si lo ejecuta con 'sudo' como 'sudo procexp-all' le da qué memoria virtual puede estar más en la línea de lo que muestra el 'Monitor de actividad'.
-----------------
Process: 0 Name: kernel_task Parent: 0 Status: runnable
Flags: 64-bit,system,session leader
UID: 0 RUID: 0 SVUID: 0
GID: 0 RGID: 0 SVGID: 0
Virtual size: 7167M (7515574272) Resident size: 752M (789536768)
Time: 58.03 = 00.00 (User) + 58.03 (System)
Syscalls: 0 Mach Traps: 0
Disk I/O: Read 9786K Written: 88547K
#Threads: 96 (Process has no workqueues)
Lea otras preguntas en las etiquetas mavericks virtual-memory