Yanıtlar:
Aktif olmayan hafıza, berbat bir isim yüzünden korkunç bir rap aldı. "Mac'inizi aynı işi yapan ikinci, üçüncü ve dördüncü kez gerçekten hızlı bir hale getirin" gibi bir şey olmalıydı.
Apple, birkaç yeni özellik getirdiğinde ve sıkıştırılmış bellek eklediğinde etkinlik izleyicisini yeniden yazdı; bu nedenle, bunların bir kısmı artık “Etkin Değil Bellek” göstermeyen macOS için geçerli değil, ancak bu yine de buna karşı belgelenen Mac OS X bellek yönetimi için de geçerli Aktivite İzleyicinin sürümü: https://support.apple.com/en-us/HT201538
OS X'te sanal bellek kavramında yeni olan şeyleri şöyle açıkladım:
Problem, Free + Inactive'in kabaca toplamın 1 / 3'ünden az olması ve daha sonra işler gerçekten yavaşlamasından kaynaklanmaktadır.
Etkin olmayan hafıza, bonus hızı / çift görevli RAM'dir. Bir anda bile ücretsiz olarak hizmet eder, ancak sistem doğru bir şekilde doğru tahmin edilip RAM'da tekrar yapacağınız bir şeyi saklarsa, tekrarlanan görevleri çok, çok daha hızlı hale getirir. Zaten RAM'e yüklenmiş olduğundan ve sanal bellek sistemi iyi tahminler yaptığında işleri hızlandırdığından, takas bellekten daha hızlıdır.
RAM'in bir problem olup olmadığını merak ederken, 4 kategorinin her birine bakmak yerine (aktif değiş tokuş yaparsanız 5), W + A'yı yeni bir program / görevi yavaşlatan ve F + I yeni program / görev. Ne kadar fazla F + 'ya sahipseniz, RAM'in ayrılan hafızayı dengelemek için değiştirmeye dayanması gerekmeden önce daha yeni programlar başlatabilirsiniz.
Yukarıda bahsettiğimden beri takas yönteminin nasıl çalıştığını bilmenize gerek yok. Temel olarak, bir program boşta otururken ve günlerce (veya saatlerce) kullanılmadığında, sistem bu RAM'i programı öldürmek yerine sabit sürücüye yazar. Bu, sistemin bellek yönetimi ile ilgili her türlü şeyi karıştırmasını ve işlemesini sağlar ve her programın, sistem bittiğinde kimin daha az bellek kullanacağını kararlaştırmak için kendi aralarında konuşmak zorunda kalmasını önler.
Etkin olmayan RAM'in nasıl kullanıldığına dair gerçek bir dünya örneği.
Sistem bu iki uygulamanın çalışması gereken şeyleri etkin olmayan RAM'de tutmayı öğrenirken, ikinci / üçüncü lansman için çarpıcı hızlar görmelisiniz.
Sizin durumunuz - Kablolu ve Aktif toplamı, bazı diske geçiş yapmanın muhtemel olduğu ve Mac'inizin olabildiğince hızlı olmadığı anlamına gelir; çünkü aktif olmayan RAM'iniz, yeniden kullanmanız gerekebilecek her şeyi depolayacak kadar büyük değildir. . Hızlı bir SSD sürücünüz varsa, bu RAM tahsisi tamamdır ve RAM'inizin 1 / 2'sinden daha az bir kez yavaşlamak yerine F + I ise, F için toplam RAM'in 1 / 4'üne benzemek + Ben farkedilir yavaşlık görmeden önce. Bu kurallar geneldir ve vm_stat 15
sürekli ve orta hacimli değişimin Mac'inizi yavaşlatmamasını sağlamak için izlemek ya da benzeri bir zaman aralığı kullanmak isteyeceksiniz .
Mac'inizin “stresli” olup olmadığını belirlemek için en önemli olan sayı Page Sayfa çıkışı ’şeklindedir. Mavericks'teki Etkinlik İzleyicisi'nde bu artık gösterilmez, şimdi 'Kullanılan Takas:' bilgisini gösterirler.
Sayfa çıktıları, işletim sisteminin istenen tüm uygulamaları ve işlemleri çalıştırmak için yeterli RAM bulunmadığını tespit ettiği anlamına gelir. O zaman yaptığı şey, aktif olarak kullanılmadığını belirlediği belleğin disk bölümlerini 'sayfalandırması'. Bu, RAM belleğin (hızlı) HDD belleğe (yavaş) değiştirildiği anlamına gelir. Bu, çok fazla uygulama olduğundan ve çok fazla sayıda uygulamanın olduğu ve kullanıcının uygulamalar arasında gittiği için çok fazla oluyorsa, çok fazla sayfa çıkışı ve sayfa sayısı olacak.
Sayfaların arttığını görüyorsanız, işlem yapmanız gerekir.
Mac'imdeki sorun, "etkin olmayan" belleğin, komut penceresinde el ile temizleme işlemi yapılmadığı sürece asla temizlenemediğidir. Uygulamaları öldürmemi söyleyen bir açılır pencere gelene kadar kurulur ve kurulur. Tüm uygulamalarımı öldürdükten sonra bile, bir şeyi çalıştırmak için hala çok fazla etkin olmayan hafızam var. Bu yüzden, Mac'imde Mountain Lion'un en son sürümünü kullanıyorsanız, boş hafıza az olduğunda aktif olmayan hafızanın geri kazanıldığı doğru değil. Ya hiçbir zaman serbest bırakılmayan bir grup aktif olmayan hafızayı kilitleyen bir uygulamam var ya da iOS'in içinde bir hata var. (8GB fiziksel belleğim var ... bu yeterli olmalı!)
vm_stat
gerçekleştiğinde rapor edilen hafıza durumu nedir ? Bir şeyi çalıştırmak için "çok fazla" etkin olmayan bellek "olabileceğinden bu kadar emin olmanıza neden olan şey nedir? Endişelendiğim kadarıyla, bu bildiğiniz kodda hiçbir desteği olmayan, aslında çekirdeğin içinde çalıştığı bir deneyim.
Tüm afiş ve yorum yapanlara teşekkürler, bu benim için öğretici ve faydalı bir konu oldu. Son tecrübelerim biri için faydalı olabilir. Mac Mini'mi OS X10.8.1 ve 16G RAM ile tamamen başka bir yerde çalıştırılacak olan prototipleme yazılımı için kullanıyorum. Sizi temin ederim ki "birkaç dakika içinde Facebook'a geri dönmeyeceğim veya bıraktıktan sonra Word'ü yeniden başlatmayacağım" - bunun yerine macbook'umda yapıyorum.
Görevim büyük miktarda veriyi toplamaktı, g / ç zaman alıyor, bu yüzden nosyon bir hamlede olabildiğince büyük bir veri yığınını okumak, orada işlemek ve diske tekrar yazmaktı. , sonra işlemi birkaç saat süren işlem tamamlanana kadar tekrarlayın. Gördüğüm kadarıyla, her yeni bir veri yığınında okuduğumda, aktif olmayan bellek atlıyor - Sistem AI’nin, eski yığınları tekrar kullanmak isteyebileceğimi farz ediyorum - ki bu da, Hafıza düşer.
Bu işlemin birkaç yinelemesinden sonra boş hafıza sadece bir kaç MB'a düşer, etkin olmayan hafıza bir kaç MB boşalır ve sonunda boş ve boş hafıza arasında birkaç dakika ileri geri koyduktan sonra etkin olmayan hafıza boş kalır bir kerede birkaç GB kadar. Hepsi bmike'ın tanımladığı gibidir ve hem vm_stat 15 hem de Aktivite monitörü 0 sayfa gösterimi gösterir.
Bunun dışında belki de değil. Yüzlerce kez işler yolunda ilerliyordu, bir kahve ya da akşam yemeği için yola çıktım ve süreci izlemiyorum ve ne olmamalıydı ve süreç aniden kayıkla dolup taşan bir gemi dolgusunu attı ve yavaşladı. Muhtemelen soruna neden olan benim berbat kodumdur, ancak bu değişkenlik kaynağını ortadan kaldırmak için etkin olmayan belleği kapatmayı isterdim. Bu kırık mı? Ben öyle demezdim, ama sanırım bellek yönetimi kullanım durumum için optimize edilmemiş.
Son zamanlarda etkin olan uygulamalar tarafından kullanılan etkin olmayan hafıza . OS X, kullanıcının programı tekrar açmak istemesi durumunda saklı tutmaktadır. Bu durumda, OS X'in performans hızını hızlandıran hafızanın yerini değiştirmesi gerekmez. Programı yeniden açmazsanız, bir süre sonra etkin olmayanların hafızası serbest bırakılacak veya yeniden yerleştirilecektir.
Bu özellik, çok miktarda RAM'iniz olduğunda havalıdır, ancak çok sinir bozucu olmadığında. Aslında hepsi elma şeyleriyle ilgili. Güçlü bir gadget'ınız veya Mac'iniz olduğunda her şey harikadır, ancak cihazınız büyüdüğünde tüm özellikler onu yavaşlatır.
Bu yüzden, onu yönetmek için özel numaralar kullanmak zorundasın.
Etkin olmayan hafıza purge
için serbest bırakılması gereken bir komut vardır .
Temelde bozuldu. Boş RAM düşük olduğunda, etkin olmayan RAM otomatik olarak "temizlenir". Kullanıcının tekrar açacağını umarak daha önce açılan uygulamalar için RAM tutma noktası nedir? Ücretsiz RAM'in düşük olması, mevcut ACTIVE uygulamalarının yeterli RAM'e sahip olmadığını ve ŞİMDİ değişmekte olduğunu gösteriyor. Kapalı uygulamalar için RAM belleğin tutulması sadece aptalca. Apple'ın kendi açıklamasına göre, Boş RAM düşük olduğunda, Etkin Olmayan RAM otomatik olarak temizlenmeli veya ödünç alınmalıdır. Bu açıkça durum böyle değil.
vm_stat
daha fazla boş RAM yok mu? Mac "yavaş" olduğunda, sayfa giriş ve sayfa sayımı ne işe yarar vm_stat 1
? Ne zaman bir sorun sisteminde bunu izliyorum vm_stat 15
, bir terminal penceresinde (veya dosya sistemine giriş yapmak) çalışmayı severim, böylece ne gibi / ne zaman ayarlayacağım konusunda karar verirken, disk belleği etkinliğinin ne olduğunu tam olarak bilirim. çağrı cihazı. Bu örnekte 100 MB boş RAM vardır, bu nedenle disk belleği baskısı altında bile olmaz.
Aktif olmayan hafıza özünde, önceden kapatılmış olan işlemlerin daha hızlı açılmasını sağlar. Mac OS’in çok fazla bellek kapladığını fark ederseniz, Safari veya Chrome'da açtığınız düzinelerce sekmeden gerçekten ihtiyacınız olmayan bir şey var. OS X Mavericks'te bunun yerine sadece 'sudo purge' kullanın (şifrenizi girmeniz gerekir). Bir şeyi tekrar açmanız gerektiğinde değerli saniyeleri tıraş eder, ancak RAM yoğun bir oyun oynamak veya RAM aç bir uygulama açmak istiyorsanız kesinlikle temizleme komutunu kullanmanızı öneririm.