Latar Belakang
Di Super user, dengan jawaban yang diterima :
Juga di Pengguna Super:
- dan dari jawaban pertama di sana kami memahami bahwa nilai argumen boot vm_compressor
tidak sesuai dengan nilai variabel sysctl vm.compressor_mode
.
Di Apple open source untuk OS X 10.9, Mavericks; dalam xnu-2422.1.72:
Dalam 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.
*/
Pada MacBookPro5,2 dengan memori 8 GB saya menemukan:
sh-3.2$ sysctl -a vm.compressor_mode
vm.compressor_mode: 4
Di dekat kaki 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))
Pertanyaan
Apakah mungkin untuk memiliki mode yang diaktifkan selain dari 4 untuk memori terkompresi ?
Jika demikian, dapatkah kita menemukan penjelasan bahasa Inggris yang sederhana tentang mode?
macos
mavericks
memory
virtual-memory
memory-pressure
Graham Perrin
sumber
sumber
Jawaban:
Saya tidak sepenuhnya yakin dengan opsi FREEZER, selain satu opsi FREEZER_COMPRESSOR menggunakan swap (menggunakan ruang kosong pada disk) ketika RAM rendah atau dikeluarkan, sementara yang lain tidak.
Apa yang saya pikirkan adalah bahwa opsi FREEZER adalah untuk mengelola memori untuk proses beku. Mungkin ini sesuatu yang eksperimental, untuk digunakan dalam kombinasi dengan App Nap? Saya pikir ini adalah sesuatu yang mereka uji dengan iOS beberapa tahun yang lalu.
Yang saya tahu adalah bahwa opsi 1 tidak menggunakan kompresi, dan merupakan manajemen memori OS X kuno yang kita semua kenal. Jika Anda mengalami masalah yang Anda duga terkait dengan kompresi memori, Anda dapat mencoba pengaturan ini.
Opsi 2 menggunakan memori terkompresi tanpa swap (tidak ada penulisan ke disk saat RAM rendah atau dikeluarkan).
Opsi 4 menggunakan kompresi dan swap.
Opsi 8 menggunakan apapun FREEZER, didukung oleh implementasi opsi 1.
sumber
Tidak dapat menambahkan komentar, jadi saya akan menulis sebagai jawaban: Sepertinya freezer adalah teknologi yang dipatenkan Apple dan jika Anda akan menggunakannya
VM_PAGER_FREEZER_COMPRESSOR_NO_SWAP
jangan menggunakan kompresor juga? (lihat, kompresor ada, tetapi tidak diaktifkan)Menjawab pertanyaan, Anda dapat memiliki:
sumber