Bir iş gününün sonunda çok sayıda “Aktif Değil” belleğim olması ne anlama gelir?


21

Mac OS X 10.6.5 çalıştıran MacBook Pro'mdaki bir günlük çalışmadan sonra, Activity Monitor bilgisayarımın 8 GB belleğinin çoğunun "Aktif Değil" olduğunu ve pasta grafiğinin sadece küçük bir şeridinin "Ücretsiz" olduğunu gösteriyor. Bu, tüm uygulamaları kapattığımda bile, sadece Finder çalışıyorken bile.

Bu ne anlama geliyor? "Aktif Değil" hafızası bir şey tarafından mı alınmış? Veya uygulamaların kullanması için hala kullanılabilir mi? Teşekkürler.


Yanıtlar:


27

OS X, çoğu modern işletim sistemi gibi, belleği yönetmek için sanal bir bellek sistemi kullanır . Diğer amaçların yanı sıra, işletim sisteminin bilgisayarı sınırsız bir hafıza havuzuna sahip olarak ele almasına izin verir. Bunu başarmak için, işletim sistemi kullanılmayan RAM parçalarını, takas dosyası olarak bilinen bir disk deposuna gönderir .

Tabii ki, RAM sınırsız değildir, bu yüzden OS X, RAM'i dört kategoride gruplandırır: kablolu, aktif, etkin olmayan ve ücretsiz. Kablolu hafıza, işletim sistemi tarafından istenmektedir ve hafızadan silinemez. Aktif hafıza, halihazırda çalışan programlar tarafından kullanılan hafızadır. Etkin olmayan hafıza, şimdi sonlandırılmış (veya uzun süredir kullanılmayan) programlar tarafından son zamanlarda kullanılmıştır. Boş hafıza, adından da anlaşılacağı gibi kullanılmayan RAM'dir.

Bir programı başlattığınızda, aktif belleğe yüklenir. Ancak bir programdan çıktığınızda, RAM'den kaldırılmaz; bunun yerine, aktif olmayan belleğe çarptı. Bu nedenle, bir programı yeniden başlatmak genellikle daha hızlıdır - hala RAM’dedir (bunu Firefox gibi büyük bir programla deneyin).

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.

Bir program takas dosyasına çağrılırsa ve onu yeniden başlatırsanız, takas dosyasından etkin belleğe çekilir.

Yani kısacası, boş hafızanızın düşük olup olmadığı umrunda değil. Aslında, düşük - boş olmasını istersiniz, bellek boşa harcanır (işletim sistemi herhangi bir şey için kullanmadığı için).

Bilgisayarınız kullanarak ne kadar bellek incelerken, aslında çoğunlukla için ödeme dikkat isteyen Takas kullanılan size sanal bellek takas boyutunu ve söyler, Sayfa ins takas gelen çekme hafızasına sizi OS açtığı sıklığı söyler aktif belleğe


2
Sayfa çıkışlarını, Sayfa kullanımlarından daha iyi bir takas kullanımı göstergesi olarak görüyorum, çünkü Sayfa ins, takas dosyalarından yükleme yapmanın yanı sıra programları da yüklüyor.
Gordon Davisson

1
Etkinlik İzleyicisi'nde VM Boyutum 160 GB'den büyük! Bilgisayarımda aslında o kadar büyük olan bir çeşit takas dosyası var mı?
Hpy

1
@penyuan: Hayır. Teorik olarak swap dosyasının ne kadar büyük olabileceğini, ancak swap dosyasının gerçek boyutunun Aktivite İzleyicisi'nde kullanılan Takas olarak etiketlendi .
mipadi

1
Etkin Olmayan Bellek kısmen dediğiniz gibi, özellikle de bir uygulama tarafından yeniden erişilebilecek dosya sistemi veya kitaplıkların önbelleği olmakla birlikte, aynı zamanda belirli bir süre içinde tahsis edilmiş ancak erişilmemiş olan şu anda çalışan uygulamalardan gelen bellek bloklarıdır (emin değilsiniz). zamanın tam uzunluğu). Çekirdek , boş bellek miktarı çok düşerse, diske disk belleği için öncelik vermeleri için bunları Aktif Değil olarak işaretler .
drfrogsplat

2
@deceze: Etkin olmayan bellek disk belleği çıkarılır. Artık gerekli olmadığında aktif bellek aktif olmaz. Etkin olmayan belleğe yer kalmayacak kadar az belleğiniz varsa, aktif belleğin doğrudan diske diskleneceğini, ancak bu özel bir durum olduğunu varsayalım. Gerçekten de, takas dosyası teorik olarak süresiz olarak büyür (daha fazla disk alanı kalmayıncaya kadar), ancak bu da çok nadir görülen bir olaydır.
mipadi

9

Bu büyük olasılıkla bir sorun değil ve aslında potansiyel olarak bilgisayarınızı hızlandırıyor.

Tüm (çoğu?) İşletim sistemlerinde yakın zamanda erişilen bazı dosyaları bellekte saklayan bir Disk Önbelleği kullanılır, böylece bu dosyalara tekrar tekrar erişim hızlandırılabilir. OS X'teki disk önbelleğinin boyutu değişkendir ve kullanılmakta olan "Etkin Olmayan Bellek" olarak görünecektir.

Herhangi bir programın daha fazla belleğe ihtiyacı varsa, OS X, programın çalışması / genişletilmesi için alan sağlamak için bazı önbellek disklerini temizler.

Çok fazla derleme veya fotoğraf sıralama yaparsam (yani art arda binlerce dosyaya erişiyorsam) disk önbelleğinin genişleyeceğini ve çok sayıda Aktif Değil Belleği kullanacağını biliyorum. Sadece bu disk önbelleğini sağladığı için endişelenecek bir şey yok.

Bir arka plan işlemi veya bellek kullanımında genişleyen bir uygulama ise (ancak sayfaları etkin değil olarak işaretleniyorsa), Aktivite İzleyicisi'nde çok yüksek "Gerçek Bellek" kullanımı olan programları kontrol ederek bunu söyleyebilirsiniz. Açıkça büyük bir şey yoksa (yani toplam 8 GB’dan kısa bir yol), o zaman dosya önbelleği olur.

Takas kullanımı durumunda çok az şey olduğunu görmelisiniz ve yoğun hafıza kullanan bir program açarsanız, etkin olmayan hafıza miktarı diske geçmek zorunda kalmadan azalacaktır.

(Bir süredir 10.4 veya 10.5'te bir süredir bu hafızayı çok etkili bir şekilde serbest bırakmayacağına ve büyük bir disk önbelleği olmasına rağmen değişime neden olacağına inanıyorum, ancak deneyimlerime göre bu 10.6'da çözülmüş gibi görünüyor).


Etkin olmayan hafıza aslında RAM'dir, diske aktarılmış hafıza değildir.
mipadi

3

"Etkin değil" belleği, diğer programlar tarafından kullanılabilir - tekrar kullanmanız gerekebileceği için son zamanlarda kullandığınız programları veya verileri önbelleğe almaktır. Farklı programlar başlatırsanız veya farklı verilere ihtiyacınız olursa, önbelleğe alınmış bellek silinir ve gerektiğinde yeni iş yükünüze sunulur.

Her şeye rağmen teori bu ve sağlam olduğuna inanıyorum. Ancak, bu referansı birisinin yazdığı bir "temizleme" yardımcı programına buldum, çünkü etkin olmayan hafızanın yeterince hızlı bir şekilde serbest bırakıldığını sanmıyorlardı.

Konuyla ilgili resmi belgeler için, bunu okuyun (ve "etkin değil" ifadesini arayın).


Kayıt için MBP şu anda diyor: ücretsiz 58 MB, kablolu 239 MB, aktif 1.84 GB, etkin değil 900 MB - ve sistem oldukça iyi çalışıyor.
Michael H.

1
Temizleme komutunu bir tanrı gönderme aracı buluyorum. Photoshop + Firefox + Illustrator + Netbean + SmartGit'e sahip olmak 4Gb iMac'in kolayca ölümüne neden olabilir. Tabii ki "tasfiye &" Eskisinden daha iyi daha, Firefox majör suçlu, ancak biraz yukarı hız şeyler istiyorsanız, Firefox ve sorunu çıkın
Antony

2
Purge'nin adam sayfası, performans analizi için (tam olarak disk önbelleği sistemi hızlandırdığı için) yalnızca disk önbelleğini temizlemek için yazıldığını yazıyor. Daha hızlı serbest bırakmak için yazılmış değildi, çünkü yürütülmesi gerektiğinde belleği dinamik olarak geri almaktan çekirdekten daha yavaş. Bir uygulamayı kapatmak, tüm ayrılmış notları tamamen kaldırır ve daha sonra temizlerseniz uygulamanın yüklenmesini yavaşlatır, bkz. Linuxatemyram.com/play.html . Sanırım tasfiyeyle ilgili psikolojik bir şey var, tıpkı çöpü boşaltmak gibi.
Jano,

1

OS X 10.5 ile başlayarak, MAC OS X'te belirgin bellek yönetimi sorunları vardır.

Sonunda sorunlu senaryoyu yeniden oluşturmayı başardım, bu yüzden testi yaptım ve ekranı videoya kaydettim.

MAC OS X Lion performans sorunu - bozuk hafıza yönetimi

Resimler / klasörümde, büyük miktarda resim dosyası üzerinde temel unix olan tar + bzip komutunu çalıştırıyorum. Başlamadan hemen önce, etkin olmayan / önbelleğe alınmış program verilerini silmek için "temizleme" komutunu çalıştırıyorum.

Videoda boş hafızanın çok hızlı düşmeye başladığını ve etkin olmadığının sürekli arttığını görebilirsiniz. Eğer "bsdtar" komutuna bakarsanız, sadece bir RAM parçası alır, bu yüzden problem bu süreçte değildir. Bunun bir program hafızası sızıntısı olduğunu söyleyemezsiniz, çünkü o zaman sorun etkin / kablolu değil etkin olmayan bir koçta olmazdı.

Boş hafıza 100 MB altına düştüğünde, Safari, iPhoto ve MS Word gibi bazı uygulamaları başlattım ve videoda bir uygulamanın başlamasının birkaç dakika sürdüğünü (normalde boş RAM bulunduğunda) görebiliyorsunuz. yüklemek için bazı 3-5 saniye sürer.

Linux Centos 6 kutumda aynı senaryoyu ve komutları kullanıyorum, sorun yok! Bellek kullanımı, bazı 10-20 MB'dir, önbellek / arabellek sorunu yoktur.

Mac OS X'te bellek yönetimi çok bozuk olmalı!


1
Tarif ettiklerinizden bazıları farklı bir sorunun temelini oluşturabilir, ancak bu sorunun cevabı değil.
Graham Perrin

2
Boş hafıza tanımınızın hızlı bir şekilde ayar noktasına azaldığını ve aktif olmayan ve kablolu RAM'in geri kalanının tümünün etkin değil olarak biriktirildiği sistemin, tam olarak tasarlandığı gibi çalıştığının bir göstergesi olduğunu söyleyebilirim. Sırf bellek yönetimi bir işletim sisteminde diğerine göre farklı olduğundan, ikisinin de kırıldığı anlamına gelmez. Optimizasyon seçimlerinin daima bir tarafı vardır.
bmike

0

Bu tartışma sadece “boş hafıza az olduğunda bilgisayarınız daha hızlı çalışacak” ifadesinin doğru olduğu durumlarda anlamlıdır. Desktop Mac'imin kablolu bağlantısı olmadıkça, boş hafızamın (izlendiği) azalmaya başladığı anda, o anda çalıştırdığım program ne olursa olsun, kendi başına geri dönene kadar hiçbir şey yapamayacağım noktaya gelmeye başlar. Boş Hafıza müdahalemden. 3 GB RAM'de maksimuma çıkaran bir iMac 2118'im (2006 veya üstü) var, bu yüzden bunu yapabildiğimde yönetmeye çalışıyorum ama bu çok sinir bozucu. Düşüncesi olan var mı?

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.