Günlük kullanımımdaki ortak bir fenomen (ve internet üzerinden çeşitli mesajlara göre birkaç kişi) OS X’in, artık "Boş" bellek olmadığında sistemin yavaşladığı görülüyor. Sözde, bunun değişmesi nedeniyle, ağır disk aktivitesi açıkça görüldüğü ve vm_stat'ın birçok sayfa bildirdiği bildiriliyor. (Beni yanlıştan düzeltin)
Bununla birlikte, "Aktif Değil" koç miktarı, takas işlemi başladığında / gerçekleştiğinde / bittiğinde tipik olarak mevcut tüm belleğin (^ 1.)% 12.5 ila% 25'i kadardır.
Http://support.apple.com/kb/ht1342’ye göre :
Etkin olmayan hafıza
Bellekteki bu bilgi aktif olarak kullanılmıyor, ancak son zamanlarda kullanılıyordu.
Örneğin, Mail kullanıyorsanız ve sonra bıraktıysanız, Mail'in kullandığı RAM, Etkin olmayan bellek olarak işaretlenir. Bu Etkin olmayan hafıza, Boş hafıza gibi, başka bir uygulama tarafından kullanılabilir. Bununla birlikte, Posta'yı Etkin olmayan belleği farklı bir uygulama tarafından kullanılmadan önce açarsanız, Posta, daha yavaş olan sabit diskten Posta yüklemek yerine Etkin olmayan belleğe dönüştürüldüğü için daha hızlı açılır.
Ve http://developer.apple.com/library/mac/#documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html adresine göre :
Etkin olmayan listede, şu anda fiziksel bellekte bulunan ancak son zamanlarda erişilmeyen sayfalar bulunur. Bu sayfalar geçerli veriler içeriyor, ancak herhangi bir zamanda bellekten serbest bırakılabilir .
Yani, temel olarak: Bir program kapandığında, hafızası Aktif Değil olarak işaretlenir ve istenildiği zaman talep edilebilir olmalıdır. Yine de, OS X, “Ücretsiz” bellek azaldığında, sadece bu belleği talep etmek yerine, belleği değiştirmeyi tercih etmeye çalışacaktır.
Neden? Bu davranışın, örneğin, Anaktif belleği anında serbest bırakmanın ve takas dosyasına dokunmamanın avantajı nedir? Bazı kaynaklar (^ 2.), OS X'in serbest bırakmadan önce takas etmek için "Aktif Değil" belleğini çıkartacağını belirtir, ancak bu, bellekten herhangi bir zamanda serbest bırakılabiliyorsa , bu şimdi mantıklı olmaz mı? Değiş tokuş etmek pahalı, piyasaya sürmek ucuz, değil mi?
Bu davranış, bazı tercihler veya bilinen hackler kullanılarak değiştirilebilir mi? (Tercihen, takas / dynamic_pager işlevinin tamamen devre dışı bırakılmasını ve yeniden başlatılmasını içermeyen bir ...)
Ben takdir ediyorum tasfiye komutu, yanı sıra bazı Ücretsiz belleği zorlamak için, disk izinlerini tamiri kavramını, ancak bu acı aslında takas / bırakma kararı mantığının sabitleme için daha Ücretsiz belleği zorlamak için yollar vardır ...
Btw'ye benzer bir soru burada soruldu: http://forums.macnn.com/90/mac-os-x/434650/why-does-os-x-swap-when/ ve burada: http: //hintsforums.macworld .com / showthread.php? t = 87688, ancak OP'ler ana soruyu tekrar sorsalar da, cevapların hiçbiri cevap alamıyor ...
^ 1. GÜNCELLEME 17-mar-2012 Bu soruyu ilk gönderdiğimden beri, 4 gb'den 8 gb kurulu ram'a gittim ve sorun devam ediyor. "Aktif olmayan" koç miktarı, daha önce 0.5 gb-1.0 gb idi ve şimdi takas başladığında / gerçekleştiğinde / sona erdiğinde tipik olarak yaklaşık 1.0-2.0 GB civarındadır, yani, koçun% 12.5 ila% 25'inin osx tarafından Aktif Değil olarak korunduğu anlaşılmaktadır. çekirdek mantığı.
^ 2. Örneğin https://apple.stackexchange.com/questions/4288/what-does-it-mean-if-i-have-lots-of-inactive-memory-at-the-end-of-a-work- gün :
Tüm hafızanız kullanıldığında (boş hafıza 0'dır), işletim sistemi aktif hafızaya daha fazla yer açmak için takas dosyasına etkin olmayan hafıza yazacaktır.
GÜNCELLEME 17-mar-2012
Şimdiye kadar yardım edilmesi önerilen yöntemlerin bir listesi:
tasfiye komutu
"Performans analizi için bir soğuk disk tamponu önbelleği ile başlangıçtaki önyükleme koşullarını yaklaşık olarak belirlemek için kullanılır. Malloc, vm_allocate, vb. Aracılığıyla atanan adsız belleği etkilemez".
Bu, osx'ın disk önbelleğini değiştirmesini önlemek için kullanışlıdır (ki bu, osx'ın ilk başta yaptığı gibi saçmadır), ancak disk önbelleğinin serbest kalması için dezavantajı vardır; takas edildiğinde, bir kişi muhtemelen performansı olumsuz yönde etkileyen bir soğuk disk tamponu önbellekle sonuçlanır.
FreeMemory uygulama ve / veya Disk izinlerini tamir bazı Ücretsiz belleği zorlamak için
Herhangi bir hafızanın serbest bırakılmasına yardımcı olmaz , sadece bazı gigabayt hafıza içeriğini RAM'den HD'ye taşır. Sonunda, bu, vm'lerinin birçoğu şimdi takastayken olduğundan, belleği serbest bırakırken açık olan uygulamaları kullanmaya çalıştığımda, birçok takas alanına neden oluyor.
Dynamicpagerwrapper kullanarak takas tahsisini hızlandırmak
Takas kullanımını hızlandırmak için yapılması gereken iyi bir şey gibi görünüyor, ancak hala etkin olmayan hafıza varken, ilk etapta osx takas sorununu ele almıyor.
Dinamik dinleyiciyi devre dışı bırakıp yeniden başlatarak takas özelliğini devre dışı bırakma
Bu, osx'ı, tüm bellekler kullanıldığında takılan sistemin fiyatına takas kullanmamaya zorlayacaktır. Uygun bir alternatif değil ...
Korsan bir dinleyiciyi kullanarak takas özelliğini devre dışı bırakma
Yukarıdaki dinleyiciyi devre dışı bırakmaya benzer şekilde, yorumlardan blog gönderisine yapılan bazı alıntılar bunun uygulanabilir bir çözüm olmadığını gösteriyor: "Etkin Olmayan Bellek her zamanki gibi yüksek". "sisteminizde bellek yetersiz olduğunda, tüm işletim sistemi kilitlenir ...", "Mac'in tüm bellek miktarını kullanırsanız, makine takılabilir"
Özetle, hala "Etkin Değil" belleği varken Mac OS X'in takas kullanımını engellemenin bir yolunun farkında değilim. Eğer mümkün değilse, belki de en azından osx'un neden herhangi bir zamanda bellekten serbest bırakılabilen belleği değiştirmeyi tercih ettiği konusunda bir açıklama olabilir ?