17 votos

vm_compressor_mode (vm.compressor_mode) valores para habilitar memoria comprimida en OS X

De fondo

En el Super usuario, con una aceptados respuesta:

También en el Super Usuario:

– y a partir de la primera respuesta no entendemos que el valor del argumento de arranque vm_compressor no se corresponde con el valor de la variable de sysctl vm.compressor_mode.

En la Manzana de código abierto para OS X 10.9, Mavericks; en xnu-2422.1.72:

En vm_compressor.c:

/*
 * vm_compressor_mode has a heirarchy of control to set its value.
 * boot-args are checked first, then device-tree, and finally
 * the default value that is defined below. See vm_fault_init() for
 * the boot-arg & device-tree code.
 */

En un MacBookPro5,2 con 8 GB de memoria puedo encontrar:

sh-3.2$ sysctl -a vm.compressor_mode
vm.compressor_mode: 4

Cerca de los pies de vm_pageout.h:

extern int vm_compressor_mode;
extern int vm_compressor_thread_count;

#define VM_PAGER_DEFAULT                0x1 /* Use default pager. */
#define VM_PAGER_COMPRESSOR_NO_SWAP         0x2 /* In-core compressor only. */
#define VM_PAGER_COMPRESSOR_WITH_SWAP           0x4 /* In-core compressor + swap backend. */
#define VM_PAGER_FREEZER_DEFAULT            0x8 /* Freezer backed by default pager.*/
#define VM_PAGER_FREEZER_COMPRESSOR_NO_SWAP     0x10    /* Freezer backed by in-core compressor only i.e. frozen data remain in-core compressed.*/
#define VM_PAGER_FREEZER_COMPRESSOR_WITH_SWAP       0x20    /* Freezer backed by in-core compressor with swap support too.*/

#define VM_PAGER_MAX_MODES              6   /* Total number of vm compressor modes supported */

#define DEFAULT_PAGER_IS_ACTIVE     ((vm_compressor_mode & VM_PAGER_DEFAULT) == VM_PAGER_DEFAULT)

#define COMPRESSED_PAGER_IS_ACTIVE  (vm_compressor_mode & (VM_PAGER_COMPRESSOR_NO_SWAP | VM_PAGER_COMPRESSOR_WITH_SWAP))

#define DEFAULT_FREEZER_IS_ACTIVE   ((vm_compressor_mode & VM_PAGER_FREEZER_DEFAULT) == VM_PAGER_FREEZER_DEFAULT)

#define DEFAULT_FREEZER_COMPRESSED_PAGER_IS_ACTIVE      (vm_compressor_mode & (VM_PAGER_FREEZER_COMPRESSOR_NO_SWAP | VM_PAGER_FREEZER_COMPRESSOR_WITH_SWAP))

Pregunta

Es posible tener una habilitado el modo distinto de 4, para el comprimido de memoria?

Si es así, podemos encontrar un inglés simple explicación de los modos?

4voto

ryanzec Puntos 116

No estoy completamente seguro de que el CONGELADOR opciones, otros de un FREEZER_COMPRESSOR opción, se utiliza el espacio de intercambio (utiliza el espacio libre en el disco) cuando la memoria RAM es baja o invertida, mientras que el otro no.

Lo que creo es que el CONGELADOR opciones para la gestión de la memoria para los procesos de congelado. Tal vez esto es algo experimental, para ser utilizado en combinación con la Aplicación de la Siesta? Creo que esto fue algo que se prueba con iOS un par de años atrás.

Lo que sé es que la opción 1 no utiliza ningún tipo de compresión, y es a la antigua, OS X gestión de memoria todos estamos más familiarizados. Si usted está teniendo problemas con la sospecha que están relacionados con la memoria de compresión, usted puede tratar de esta configuración.

Opción 2 usa comprimido memoria sin swap (no la escritura en el disco cuando la memoria RAM es baja o gastado).

Opción 4 utiliza la compresión y el intercambio.

Opción 8 utiliza cualquiera que sea el CONGELADOR es, respaldado por la opción 1 de la implementación.

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:

X