En Super usuario, con una respuesta aceptada :
También en Superusuario:
– y de la primera respuesta entendemos que el valor del argumento de arranque vm_compressor
no se corresponde con el valor de la variable sysctl vm.compressor_mode
.
En código abierto de Apple para OS X 10.9, Mavericks; en xnu-2422.1.72:
En vm_compresor.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 encuentro:
sh-3.2$ sysctl -a vm.compressor_mode
vm.compressor_mode: 4
Cerca del pie 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))
¿Es posible tener un modo habilitado que no sea 4 para la memoria comprimida ?
Si es así, ¿podemos encontrar una explicación sencilla en inglés de los modos?
No estoy completamente seguro de las opciones de FREEZER, aparte de que una opción FREEZER_COMPRESSOR usa intercambio (utiliza espacio libre en un disco) cuando la memoria RAM está baja o gastada, mientras que la otra no.
Lo que creo es que las opciones de FREEZER son para administrar la memoria para procesos congelados. ¿Quizás esto es algo experimental, para usarse en combinación con App Nap? Creo que esto era algo que estaban probando con iOS hace unos años.
Lo que sé es que la opción 1 no usa compresión y es la gestión de memoria de OS X pasada de moda con la que todos estamos más familiarizados. Si tiene problemas que sospecha que están relacionados con la compresión de la memoria, puede probar esta configuración.
La opción 2 utiliza memoria comprimida sin intercambio (sin escritura en el disco cuando la memoria RAM está baja o agotada).
La opción 4 usa compresión e intercambio.
La opción 8 usa lo que sea el CONGELADOR, respaldado por la implementación de la opción 1.
No puedo agregar un comentario, así que escribiré como respuesta: parece que el congelador es la tecnología patentada de Apple y si lo usará VM_PAGER_FREEZER_COMPRESSOR_NO_SWAP
, ¿no debería usar el compresor también? (ver, el compresor está presente, pero no está activado)
Respondiendo a la pregunta, puedes tener:
jksoegaard
poige