Windows'u “Swappiness” olarak değiştirin


10

Windows 7'de değiştirilebilir bir eşdeğerlik var mı?

Sistemimde günlük kullanım için yeterli olan 8GB RAM var. Ubuntu makinemde yaptığım gibi, * NIX sistemlerinin swappiness dediği ve 0 olarak ayarladığı , takas davranışını değiştirmek istiyorum .

Bunun için Web'de arama yaptım, ancak tüm cevaplar * NIX sistemleri için görünüyor.


Tuhaflıktan dolayı, swappiness'i daha yüksek veya daha düşük bir değere ayarlamak daha mı iyi?
Jon

Ne kadar RAM'iniz olduğuna ve ne kadarını kullandığınıza bağlıdır. Benim durumumda, 0 olarak ayarlamak, bir out of memoryhatayı önlemek için sadece diske değişecektir . Bkz bu cevabı daha @ chipperyman573 için Ask Ubuntu üzerinde
Rath

1
Windows bellek yetersiz bellek hatalarına karşı acil koruma yok gibi görünüyor. Cevabımdaki bağlantıya bakın.
wullxz

Yanıtlar:


7

Windows altında, sistemin RAM'i serbest bırakmak için uygulamaları değiştirdiği "pagefile" adlı bir şey var. Şu anda bir Windows makinesinde değilim ama Adobe'nin burada çevrimiçi attığı adımlar doğru görünüyor (bence Win+ Pause"Gelişmiş Sistem Ayarları" nın bir kısayolu).

Sayfa dosyasını devre dışı bırakmak mümkün olsa da, bununla ilgili bazı endişeler var. Daha fazla bilgi için okumaya bu


2
Yorumunuzda söylediğiniz gibi, Windows gerçekten de yetersiz bellek hatalarına karşı hiçbir korumaya sahip görünmüyor. Bu da beni "takas" eşdeğeri olmadığına inandırıyor. Yine de +1 öğrendiğim ve kabul ettiğiniz olarak kabul edilen ilginç yeni kısayol için, gönderdiğiniz bağlantı beni bu makaleye yönlendirdi . Şerefe
rath

Sayfa dosyası kapalı olan birçok kişi var. Sistem, bir süre bir süre kullanılmayacak bir şekilde kullanılmayacağı birkaç şey attı. Kullanıcının genellikle neler olup bittiğini bildiği durumlar dışında, sistemin "belleği yetersiz" olması muhtemel değildir, genellikle ilk önce serbest bırakılabilen (uygun şekilde serbest bırakıldığı varsayılarak) önbellek yığınları vardır. Tamamen devre dışı bırakmamanın nedeni Bazı Programlar, orada yoksa, bir Fit'e sahip olacaktır. Ve attıkları hatalar her zaman ortaya çıkmayacaktır.
Psycogeek

1
8GB RAM ile bir dizüstü bilgisayarım var ve takas ile kullanıyorum. 4 GB RAM + 4 GB maksimum takas ile takas olmadan 8GB RAM'e sahip olmak arasında bir fark yoktur. Her zaman bir sınır vardır ve ulaştığınızda hatalar görürsünüz.
Natan

@Natan: 8GB RAM'i her gün 4 + 4'ün üzerinde alırdım, RAM yoğun işlemler sırasında fizikseliniz bittiğinde performansınıza ne olur?
Mark K Cowan

@MarkKCowan Sanırım 128MB ile 8GB RAM arasında bir fark var. Bellek dolduğunda işletim sistemi belleği geri almaya başlar ve çöp toplayıcılar işlerini yapar. 8GB'lık bir masaüstünde, çoğu önbellek olduğu için devam etmesi için yeterince geri alınacağı neredeyse garanti edilir. Bellek tükenirse, disk CPU + RAM'den daha yavaş büyüklük sıraları olduğu için takas her zaman belleği geri almaktan daha kötü olacaktır.
Natan

0

Sanal bellekte "RAM ayıran uygulamalar ve fiziksel RAM bittiğinde, SWAP'a bir şey gönderilir" den daha fazlası vardır.

Linux'ta (ve büyük olasılıkla UNIX'te), sistem yakın zamanda RAM'de okunan sayfaları tutmaya çalışır: yürütülen programlar, yüklenen veriler, son zamanlarda yazılan veriler (zaten diskte de vardır) vb. Böylece aynı program tekrar çalıştırılırsa, Diskten yeniden yüklenmesi gerekmez. Bazı program sanal adres alanına daha fazla bellek ayrılmasını istediğinde, ilk önce sol disk arabellekleri yeniden kullanılır (disk erişimi olmadan). Bu yeterli olmazsa, son zamanlarda erişilmeyen bazı çalışan uygulama sayfaları aslında değiştirilir. Linux'ta normalde takas hiç gerçekleşmez. Sisteminizi değiştirmeye başladığında, artan sürücü etkinliğini (ve halsizliği) fark edersiniz ve "oh what the f .." 'a gidersiniz, çünkü bu muhtemelen bazı uygulamaların bellek sızıntısı olduğu veya kaputun altındaki bir şeyin kontrolden çıkmaya başladığı anlamına gelir.

Windows'un geleneksel olarak, hareketsizliklerinde biraz zaman aşımından sonra tüm kullanıcı alanı uygulamalarını değiştirmeleri için aptal bir ek alışkanlığı vardır. Kesinlikle, affedilmeden, mümkün olduğu kadar çok RAM'in kullanılabilir olması için, "her ihtimale karşı" başka bir aç uygulamaya başlamak istediniz. PC'nizi çalışır durumda bırakırsanız ve birkaç saatliğine giderseniz, geri dönüşünüzde geçiş yaptığınız herhangi bir uygulamanın, takastan sloooowly yeniden yüklendiğini fark edersiniz. Bu davranış Windows 2000'de özellikle acı vericiydi ve daha modern Windows sürümlerinde giderek daha az fark edilir hale geliyor. W2k'de, swapı kapatmak bir beyinsizdi. Windows 7 hala bal gibi sızabilir, ancak belirli bir nedenden ötürü, Windows 8.1 ve 10 belirgin şekilde daha iyi hale geldi ... ancak yine de "swappiness" veya değiştirilebilir algoritmanın diğer ayarlanabilir parametreleri için ayarlanabilen bir düğme yok.

Sistemin yavaş disk erişimi boyunca taşlamasına neden olabilecek başka faktörler de vardır. Windows 7'de, sistemin uygulamanızı eski W2k tarzında değiştirip değiştirmediğini veya uygulamanızın çok yavaş başladığı için Antivirüs'ü suçlayıp suçlamadığınızı veya Windows Update'in Bu sefer arka plan (algoritmalarında% 100 CPU tüketimi ve / veya disk atma ile asılmalarına yol açan pistonlu tuhaflıklar olduğu biliniyor) veya özel olarak bazı .NET Framework temizlik görevlerinin kaybolduğu veya ne olduğu. Bazı durumlarda / bazı Microsoft yazılım sürümlerinde / enkarnasyonlarında, aslında arka plan görevlerinde "yerel olarak Windows" yerel (özellikle Windows Update yerel veritabanı yönetimi) görev yöneticisinde kasıtlı olarak "gizlenmiş" gibi görünüyor, CPU ve RAM kullanımları toplam bellek tüketiminde gösterilmez. "Meşru" etkinlik, ancak bir kötü amaçlı yazılım kök setinden ayırt etmek oldukça zor ... Sadece bir kez durur durur ve "yeni güncellemeler var" diyen bir balon anında açılır, nedenini biliyorsunuz.

En azından son Windows sürümleri, işlem başına disk IO etkinliğini söyleyebilir ve tek tek hizmetler artık ayrı olarak bildirilir (tek bir SVCHOST.EXE işlemi yerine).

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.