Biri Mac OS X'in / Darwin'in dosya sistemi önbelleğe alma davranışını etkileyebilir mi?


2

Aşağıdaki sorunu yaşıyorum: Çok fazla bellek tüketen işlemleri çalıştırdığımda, Mac OS X, dosya sistemi önbelleğinin büyük bir bölümünü serbest bırakmayı reddediyor gibi görünüyor:

etkinlik izleyici

Aslında, ~ 30 GB etkin olmayan belleğin serbest bırakılması yerine, 45 GB'ı değiştirmeyi tercih eder (bu, resimde gösterilen zamanda yükseliyordu).

Çalışmak purge, bu belleğin büyük bir bölümünü serbest bıraktı, ~ 15 GB boş belleğe yol açtı ve Mac OS X sonunda GUI uygulamalarımdan birini bırakmamı isteyen gerçekten işe yaramaz OOM diyalogu ile beni rahatsız etmeyi bıraktı…

Yararsız OOM iletişim kutusu

Çekirdek dosya G / Ç önbelleğe alma konusunda daha az ısrarcı olma talimatının verilebileceği bir yol var mı?


Bir an için etkin olmayan hafızanın boş hafızadan farklı bir şekilde sınıflandırıldığını ve her ikisinin de “havuza hazır” olduğunu düşündüğünüz bir program varsa, program yükleme süreleri, malloc arızası, vb. Gibi bir sorun olarak gördüğünüz ölçülebilir bir şey var mı? ??? Yeniden başlatma, sanal bellek tablolarını siler ve RAM tahsis eden programları açarsanız, derhal "etkin değil" de yer, böylece bu bana problemsiz gibi geliyor.
bmike

@bmike Dediğim gibi ... Mac OS X, OOM iletişim kutusuyla beni sürekli rahatsız ediyor (Lütfen kapatmak için uygulamaları seçin ...), ayrıca sistem kısmen tepkisiz hale geldi (tüm CPU çekirdeği kullanılmasa da) ve 45 GB'lık takas dosyası diskte de beni sinir ediyor.
Barbaz

OOM diyalogu - belki de bunun genişlemesi yararlı olabilir. Tahminim 45 G takas ile, gerçekten bir sızdırma kodu sorununuz var ve bir çağrı algoritması sorunu değil. Çağrı ayırma sistemini değiştirirseniz, başka bir şekilde, yine de bozulacaksınız. Bu hafta sonu, VM sistemini hacklemeye gerek kalmadan nasıl saldıracağımı açıklamak için zaman ayırmaya çalışacağım. İlk yorumumda sorunun ne kadar derin olduğunu özledim. Bunu talep üzerine yapabilmeniz için Apple'a bir hata yaptınız mı? sysdiagnosebir ayarlama çözümü önermek için mühendislere gereken her şeyi vermelidir.
bmike

@bmike Bu OOM iletişim kutusudur: photomics.org/IeWia1Ee_OOM.png - Metin oldukça kafa karıştırıcı, ben Mac OS X şimdi doğru olduğundan daha bir daha takas olmaz demek için ne anlama geldiğini tahmin (hala yüzlerce vardı Başlangıç ​​diskimde boş GB). Metin, analiz yazılımım tüm hafızayı kullanırken sadece düşük hafızalı GUI uygulamalarımı
listelemesi koşuluyla Mac'lerin sayı kırıcı

OSD'de yıllarca OracleDB gibi kurumsal yazılımlar çalıştırmasına ve çekirdek veya bellekle ilgili sıfır sorun yaşamasına rağmen, yazılımınız için işe yaramazsa, üzüldüğünüzü ve bunun uygun olmadığını hissedeceğinizi görebiliyorum. Ancak, dikkatli bakarsanız, önyükleme birimi dosya sisteminizde boş alana ihtiyacınız vardır. Bu yardımcı olabilir diye kısa bir cevap çalışacağım.
bmike

Yanıtlar:


1

Sisteminize erişmeden veya hatalarınızı çoğaltma adımlarından bahsetmek zor, ancak deneyimlerime göre, takas aygıtı ve kök dosya sistemi dolduğunda işletim sistemi herhangi bir UNIX gibi performans gösteriyor. İletişim kutusundan kaçınmanın en basit yolu, başka bir takas dosyası oluşturmak için yeterli boş alana sahip olduğunuzdan emin olmaktır (2 GB'da Mountain Lion'da olduğuna inanıyorum).

Çoğu kişi, işletim sistemi anında sıcak dosyaları ve birleştirmeleri en iyi duruma getirdiğinden% 25 (veya daha fazla) boş alana sahip olmayı sever. daha hızlı dosya erişimi için seçmek için sürücüde yerleştirir.


OS X ve diğer UNIX arasında göze çarpan bir fark, Apple OS'nin takas için geç sayfa tahsisi yapmasıdır, bu yüzden gerekmediğinde büyük takas dosyalarını göremezsiniz. Bunun için takas alanını tamamen devre dışı bırakabilir veya pratikte gördüğünüz takas miktarını işlemek için sürücünüzün yeterli boş alana sahip olmasını sağlayabilirsiniz.

Disk belleği algoritmasıyla uğraşan hiç kimseyi duymadım, ancak Apple işletim sisteminin bu bölümünü açık bir şekilde açtı, böylece umursayan herkes kod düzeyinde değişiklikler yapabilir ve onunla çalışabilir.

Bir sonraki en büyük yan depolama sürücüsünü satın almakla başlar ve bir başlangıç ​​kuralı olarak 10 GB'tan daha az boş kalmamanızı sağlamak için alan kullanımınızı izlerdim. Ciddi bir iş yapıyorsanız, tükenmediğinizden emin olmak için sürücü alanına daha fazla yatırım yapabilirsiniz.


Dediğim gibi ... Başlangıç ​​diskinde yüzlerce GB boş alan vardı. Değişim basit bir şekilde 50 GB'de durdu. Ancak bir çözümü daha da değiştirmeyi düşünmezdim, sistemin FS önbelleğini düşürmesini ve program belleği için kullanmaya başlamasını beklerdim.
barbaz

Hmm - bu mesajın çıkması garip görünüyor. Çok daha fazla takas makinem vardı. Bu konuda Apple ile bir hata yaptın mı? Belirli bir yapı / özel yonga setinde kodda yanlış olan bir şey olabilir.
Soruda
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.