5 votos

¿Por qué gratis + activo + inactivos + especulativo + cable no es igual al total de la RAM?

Cuando ejecuto vm_stat en mi 10.6.8 MacBook Pro con 2 GB de RAM me sale lo siguiente:

Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free:                          90518.
Pages active:                       205479.
Pages inactive:                      32417.
Pages speculative:                  134461.
Pages wired down:                    61009.
"Translation faults":             26323651.
Pages copy-on-write:                177180.
Pages zero filled:                15230394.
Pages reactivated:                       3.
Pageins:                            388108.
Pageouts:                                0.
Object cache: 14 hits of 797355 lookups (0% hit rate)

Si se suman los libres, activos, inactivos, especulativo, y por cable de la memoria y multiplicar por 4096 (para pasar las páginas en bytes), se obtiene 2,145,828,864 en lugar de la esperada 2,147,483,648. Hay 1,654,784 falta de bytes (o páginas 404). Este no es un número constante a pesar de que, fluctúa:

$ vm_stat 1 | perl -MList::Util=sum -nle 'next unless /^\s*\d/; print 524288-sum((split)[0 .. 4])'
193
147
146
60
57
220
215
385
379
285
283
194

Son estas páginas que faltan sólo un reporte de la inexactitud debido a la cantidad de un tipo de página ha cambiado en el momento en vm_stat imprime el siguiente tipo de página? O hay algún otro tipo de memoria que me estoy perdiendo?

2voto

RyanKeeter Puntos 1445

Respuesta corta: el host_statistics64() función devuelve el mal de datos.

Todavía en busca de por qué este es el caso, pero el error (si es un error) está en la biblioteca vm_stat utiliza, no en vm_stat sí.

2voto

SuperJer Puntos 133

Después de pasar algún tiempo buscando en este y ASÍ, pregunta , creo que lo he rooteado.

Antes de empezar, quiero señalar que el debate filosófico que Apple debe tener cuando se trató de responder a la pregunta ¿Qué es la memoria? Si se mira el monitor de actividad en OSX Pre-Yosemite (se puede ver esto en mi pregunta que me enlace y abajo) verás que la Memoria Utilizada se compone de cuatro partes; la Aplicación de la Memoria, la Caché de Archivos, conexión de la Memoria, y se Comprime la Memoria. Ahora, si usted mira en el monitor de actividad a continuación, a partir de OSX Yosemite, verás que el Archivo de Caché de la falta. No sé por qué hubo un cambio entre OS, pero hay un no menos. Ya que usted está utilizando un pre-Yosemite OS en la pregunta, me voy a ceder a la definición anterior.

Vamos a volver a la actividad, el cálculo de la capacidad total de la memoria, más concretamente, el uso de la Memoria desde la memoria Libre es dada a nosotros a través de vm_stat.

Para calcular esto, necesitamos mapa de las cuatro partes de la Memoria Utilizada para los diferentes estadísticas nos da de vm_stat. Algunos de estos son bastante fáciles.

Monitor de actividad para vm_stat Asignaciones

  • La Caché de archivo: -> Archivo-copia de las páginas
  • Cable de la Memoria: -> Páginas cable hacia abajo
  • Comprimido: -> Páginas ocupadas por compresor
  • App De La Memoria: -> Páginas Active + Páginas Especulativo

Averiguar App de la Memoria es el complicado, y para ser honesto, yo no entiendo muy bien por qué especulativo de la memoria es parte de él, pero la matemática es indiscutible.


Indiscutible de Matemáticas (va con OSX Pre-Yosemtie Monitor de Actividad)

                  vm_stat       Activity Monitor
------------------------------------------------
Free Mem.         9.97 GB       9.85 GB
Pages Active      2.38 GB       xxx
Pages Speculative 0.57 GB       xxx
App Mem.          xxx           2.95                       
Cached Files      1.24 GB       1.22 GB
Wired Mem.        1.43 GB       1.41 GB
Compressed        0.57 GB       0.58 GB
------------------------------------------------
Total Mem.       16.16 GB       16.01 GB
                 (keep in mind rounding error)

El Monitor de actividad de OSX Pre-Yosemite

enter image description here


El Monitor de actividad de OSX Yosemite

enter image description here

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by: