पृष्ठभूमि
सुपर उपयोगकर्ता में, स्वीकृत उत्तर के साथ :
सुपर यूजर में भी:
- और पहले उत्तर से हम समझते हैं कि बूट तर्क vm_compressor
का मूल्य sysctl चर के मूल्य के साथ मेल नहीं खाता है vm.compressor_mode
।
ओएस एक्स 10.9, मावेरिक्स के लिए ऐप्पल ओपन सोर्स में; xnu-2422.1.72 में:
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.
*/
8 जीबी मेमोरी के साथ एक मैकबुकप्रो 5,2 पर मैं पाता हूं:
sh-3.2$ sysctl -a vm.compressor_mode
vm.compressor_mode: 4
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))
सवाल
क्या संपीड़ित मेमोरी के लिए 4 से इतर सक्षम मोड होना संभव है ?
यदि हां, तो क्या हम मोडों का एक सादा अंग्रेजी स्पष्टीकरण पा सकते हैं?