TL; DR sürümü: Windows'un bellek / sayfa dosyası ayarlarınızı yönetmesine izin verin. MS’teki insanlar bu konular hakkında düşünmek için çoğu zaman sistem yöneticilerinden çok daha fazla zaman harcadılar .
Pek çok kişi, Windows'un verileri istek üzerine sayfa dosyasına itdiğini varsayıyor gibi görünüyor. EG: bir şey çok fazla bellek istiyor ve ihtiyacı karşılamak için yeterli RAM yok, bu yüzden Windows bu son dakikada RAM'den diske veriyi delice yazmaya başlıyor, böylece yeni talepler için RAM'i serbest bırakabiliyor.
Bu yanlış. Kaputun altında daha fazlası var. Genel olarak konuşursak, Windows bir destek deposunu korur , yani bellekteki her şeyi diskte de bir yerde görmek ister. Şimdi, bir şey ortaya çıktığında ve çok fazla bellek gerektirdiğinde, Windows RAM'i çok hızlı bir şekilde silebilir, çünkü bu veriler zaten disktedir, istenirse RAM'e geri çağrılmaya hazırdır. Yani pagefile içinde ne kadar söylenebilir da RAM içinde; Veriler, yeni bellek ayırma taleplerini hızlandırmak için öncelikli olarak sayfa dosyasına yerleştirildi .
İlgili mekanizmaları tanımlamak birçok sayfa alacaktır ( Windows Internals'ın 7. bölümüne bakın ve yeni bir sürümün yakında hazır olacağını unutmayın ), ancak dikkat edilmesi gereken birkaç güzel şey var. İlk olarak, RAM'dekilerin çoğu aslında zaten disktedir - örneğin çalıştırılabilir bir dosyadan veya bir DLL dosyasından alınan program kodu. Yani bunun sayfa dosyasına yazılması gerekmez; Windows, bitlerin nereden alındığını basitçe izleyebilir. İkincisi, Windows, RAM'deki hangi verilerin en sık kullanıldığını izler ve böylece erişilmeden en uzun süren verileri RAM'den siler.
Sayfa dosyasını tamamen kaldırmak daha fazla diskin bozulmasına neden olabilir. Bazı uygulamaların mevcut RAM'in% 80'ini başlatıp talep ettiği basit bir senaryo düşünün. Bu, yürürlükteki yürütülebilir kodu RAM'den zorlar - muhtemelen işletim sistemi kodu. Şimdi, bu diğer uygulamaların - ya da işletim sisteminin kendisi (!!) bu verilere erişmeye ihtiyaç duyduğunda, işletim sistemi onları diskteki yedek deposundan ayırıp, çok fazla çökmeye yol açmalıdır. Sayfa dosyası geçici veriler için destek deposu olarak hizmet vermediğinden, disk belleği gösterilebilecek tek şeyler, başlangıçta desteklediği yerel destek mağazalarına sahip yürütülebilir dosyalar ve DLL'lerdir.
Elbette birçok kaynak / kullanım senaryosu vardır. Sayfa dosyasını kaldırmanın hiçbir olumsuz etkisinin olmadığı senaryolardan birine sahip olmanız imkansız değildir, ancak bunlar azınlıktır. Çoğu durumda, sayfa dosyasının kaldırılması veya azaltılması, en yüksek kaynak kullanımı senaryoları altında performansın düşmesine neden olur.
Bazı referanslar:
dmo , sanal belleği anlamada yardımcı olan yeni bir Eric Lippert postasına dikkat çekti (yine de soru ile daha az ilişkili). Buraya koyuyorum, çünkü bazı kişilerin diğer cevaplara geçmeyeceğinden şüpheliyim - ancak değerli bulursanız , oylamaya borçlu olursunuz , bu yüzden oraya ulaşmak için bağlantıyı kullanın!