OS X'te etkin sıkıştırılmış bellek için vm_compressor_mode (vm.compressor_mode) değerleri


16

Arka fon

Süper kullanıcıda, kabul edilen bir cevapla :

Süper Kullanıcıda da:

- ve ilk cevabından, boot argümanının vm_compressor değerinin sysctl değişkeninin değerine karşılık gelmediğini anlıyoruz vm.compressor_mode.

OS X 10.9 için Apple açık kaynak kodunda Mavericks; xnu-2422.1.72'de:

Vm_compressor.c içinde:

/*
 * 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 GB bellekli bir MacBookPro5,2'de:

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

Vm_pageout.h eteğine yakın:

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))

Soru

Sıkıştırılmış bellek için 4 dışında bir etkin moda sahip olmak mümkün müdür ?

Eğer öyleyse, modların basit bir İngilizce açıklamasını bulabilir miyiz?


Alıntı yaptığınız başlık dosyası, hem mod 2 hem de 4 modlarının sıkıştırılmış çağrı cihazının etkin olduğu anlamına geldiğini gösteriyor. Bu nedenle, sorunuzdan biraz şaşkınım - yani mod 2'yi gerçekten denediniz mi ve sıkıştırılmış belleği etkinleştirmediniz mi?
jksoegaard

Yanıtlar:


4

FREEZER seçeneklerinden tam olarak emin değilim, dışında bir FREEZER_COMPRESSOR seçeneği takas kullanır (diskte boş alan kullanır) RAM düşük veya harcanırken, diğer değil.

Bence DONDURUCU seçenekleri donmuş işlemler için bellek yönetimi içindir. Belki de bu uygulama Nap ile birlikte kullanılacak deneysel bir şeydir? Bence bu, birkaç yıl önce iOS ile test ettikleri bir şeydi.

Bildiğim şey, seçenek 1'in sıkıştırma kullanmaması ve daha aşina olduğumuz eski moda OS X bellek yönetimi. Bellek sıkıştırmayla ilgili olduğundan şüphelendiğiniz sorunlar yaşıyorsanız bu ayarı deneyebilirsiniz.

Seçenek 2, takas olmadan sıkıştırılmış bellek kullanır (RAM azaldığında veya bittiğinde diske yazma yapmaz).

Seçenek 4 hem sıkıştırma hem de takas kullanır.

Seçenek 8, seçenek 1 uygulaması ile desteklenen FREEZER ne olursa olsun kullanır.


2
FREEZER'in ne yaptığına dair gerçek belgeler var mı?
vy32

Apple.stackexchange.com/questions/175572 adresindeki düzenlemenin , Apple'ın bir radar veya geri bildirim veya destek vakasına yanıt vermesi ve geleneksel seçenek 1'in bazı durumlarda başarısız olduğu ve artık desteklenen bir mod olmadığı biliniyor.
bmike

0

Yorum ekleyemiyorum, bu yüzden cevap olarak yazacağım: Görünüşe göre dondurucu Apple'ın patentli teknolojisi ve eğer VM_PAGER_FREEZER_COMPRESSOR_NO_SWAPkullanacaksanız kompresörü de kullanmamalısınız ? (bkz. kompresör var, ancak aktif değil)

Soruyu cevapladığınızda, sahip olabilirsiniz:

  1. VM_PAGER_COMPRESSOR_WITH_SWAP - sıkıştırılmış bellek + takas
  2. VM_PAGER_COMPRESSOR_NO_SWAP - takas olmadan sıkıştırılmış bellek
  3. VM_PAGER_COMPRESSOR_NO_SWAP_PLUS_FREEZER_COMPRESSOR_WITH_SWAP - sıkıştırılmış bellek + dondurucu takas
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.