it-swarm.asia

8 GB RAM makinedeki bir sayfa dosyasını kaldırmanın herhangi bir yararı veya zararı var mı?

Windows 7'yi 8 GB RAM ile çift çekirdekli, x64 AMD'de çalıştırıyorum.

Bir sayfa dosyasına bile ihtiyacım var mı?

Kaldırmak performansa zarar verir mi?

Bu bir sunucu veya masaüstü ise bir fark yaratır mı?

Windows 7 ile Windows 2008 karşılaştırması bir sayfa dosyasıyla fark yaratıyor mu?

213
Jason

TL; DR sürümü: Windows'un bellek/sayfa dosyası ayarlarınızı yapmasına izin verin. MS'deki insanlar bu konuları düşünerek çoğumuz sistem yöneticilerinden daha fazla çok daha fazla saat geçirdiler.

Birçok kişi Windows'un verileri istek üzerine sayfa dosyasına aktardığını varsayar. EG: bir şey çok fazla bellek istiyor ve ihtiyacı karşılamak için yeterli RAM yeterli değil, bu yüzden Windows çılgınca RAM buradaki diske veri yazmaya başlıyor) son dakika, böylece yeni talepler için RAM serbest bırakabilir).

Bu yanlış. Kaputun altında daha fazlası var. Genel olarak konuşursak, Windows bir destek deposunu korur, yani bellekteki her şeyi diskte bir yerde görmek ister. Şimdi, bir şey geldiğinde ve çok fazla bellek istediğinde, Windows RAM çok hızlı bir şekilde temizleyebilir, çünkü bu veriler zaten diskte, RAM çağrılırsa) olarak geri çağrılmaya hazır. Bu yüzden pagefile'da bulunanların çoğunun ayrıca olduğu söylenebilir. RAM; veri hızlandırmak için önceden sayfa dosyasına yerleştirildi yeni bellek ayırma talepleri.

İlgili belirli mekanizmaları tanımlamak birçok sayfa gerektirir ( Windows Internals bölüm 7'ye bakın ve bir yeni sürüm yakında kullanılabilir olacaktır), ancak birkaç güzel şey var not etmek. Birincisi, RAM) diskte gerçekte zaten - yürütülebilir bir dosyadan alınan bir program kodu veya DLL). Windows, bitlerin başlangıçta nereden alındığını izleyebilir. İkinci olarak, Windows hangi verilerin RAM en sık kullanıldığını izler ve böylece temizlenir) RAM bu verilere erişilmeden en uzun süre dayanan veriler.

Pagefile dosyasının tamamen kaldırılması diskte daha fazla çöpe neden olabilir. Bazı uygulamaların mevcut RAM'in% 80'ini başlattığı ve talep ettiği basit bir senaryo düşünün. Bu, geçerli yürütülebilir kodu RAM - muhtemelen işletim sistemi kodu dışında bile zorlar.) Şimdi bu diğer uygulamalar - veya işletim sisteminin kendisi (!!) bu verilere erişmeye ihtiyaç duyduğunda, işletim sistemi bunları sayfalandırmalıdır geçici veri için destek deposu görevi görecek pagefile olmadan, sayfalanabilecek tek şey çalıştırılabilir dosyalar ve başlangıcında doğal destek depoları olan DLL'lerdir.

Elbette birçok kaynak/kullanım senaryosu vardır. Sayfa dosyasının kaldırılmasının olumsuz etkilerinin olmayacağı 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 kaydetti son zamanlarda Eric Lippert post sanal bellek anlayışında yardımcı olur (ancak soru ile daha az ilgilidir). Buraya koyuyorum çünkü bazı insanların diğer cevaplara geçmeyeceğinden şüpheliyim - ama değerli bulursanız, dmo bir oy borçlusunuz , bu yüzden oraya gitmek için bağlantı kullanın!

302
quux

Eric Lippert kısa süre önce Windows'un hafızayı nasıl yönettiğini açıklayan bir blog girişi yazdı. Kısacası, Windows bellek modeli, RAM performans arttırıcı bir önbellek görevi gören bir disk deposu olarak düşünülebilir.

80
dmo

Diğer cevaplardan da gördüğüm gibi, sayfa dosyasını devre dışı bırakan ve asla pişman olmayan tek kişi benim. Harika: -)

Hem evde hem de işte 8 GB RAM ile Vista 64-bitim var. Her ikisinde de sayfa dosyası devre dışı. İş yerinde Visual Studio 2008, Windows XP yüklü Sanal PC, 2 SQL Server ve Internet Explorer 8 örneklerinin birçoğunun birlikte çalışmasına sahip olmak benim için alışılmadık bir şey değil. Belleğin% 80'ine nadiren ulaşıyorum.

Ayrıca her gün karma uyku kullanıyorum (uyku ile hazırda bekleme).

Windows XP 2 GB RAM ile gerçekten fark gördüm ve ben gerçekten fark gördüm) ile deney yapmaya başladım. Klasik örnek, Denetim Masası'ndaki simgelerin gösterilmesinin durmasıydı ancak Firefox/Thunderbird başlangıç ​​zamanı önemli ölçüde arttı. ), bu yüzden geri etkinleştirdim.

Ama şu anda 8 GB ile asla geri dönüp sayfa dosyasını etkinleştirmek istemiyorum.

Aşırı durumlar hakkında söyleyenler için bunu Windows XP kez) al.
Bir SQL sorgusundan Excel'de büyük Pivot Tablosu yüklemeye çalıştığınızda, Excel 2000 bellek kullanımını oldukça hızlı artırır.
Sayfa dosyanız devre dışı bırakıldığında - biraz beklersiniz ve Excel patlar ve sistem bundan sonra tüm belleği temizler.
Sayfa dosyasını etkinleştirdiğinizde - biraz beklersiniz ve bir şeylerin yanlış olduğunu fark ettiğinizde sisteminizle neredeyse hiçbir şey yapamazsınız. HDD'niz cehennem gibi çalışıyor ve bir şekilde Görev Yöneticisi'ni çalıştırmayı (birkaç dakika bekledikten sonra) ve öldürmeyi başarsanız bile Excel.exe Sistem her şeyi sayfa dosyasından yükleyene kadar dakika beklemeniz gerekir.
Daha sonra gördüğüm gibi, Excel 2003 aynı pivot tabloyu sayfa dosyası devre dışı bırakılmış herhangi bir sorun olmadan ele alıyor - bu yüzden "çok büyük bir veri kümesi sorunu" değildi.

Benim görüşüme göre, devre dışı bırakılmış bir sayfa dosyası sizi bazen kötü yazılmış uygulamalardan korur.

Kısaca: bellek kullanımınızın farkındaysanız - güvenle devre dışı bırakabilirsiniz.

Edit: Sadece Windows Vista SP2'yi sorunsuz bir şekilde kurduğumu eklemek istiyorum.

48
SeeR

Sayfa dosyası ayarlamaları yapmadan önce kendi sisteminizin belleği nasıl kullandığını anlamak için bazı ölçümler yapmak isteyebilirsiniz. Veya (hâlâ ayarlamalar yapmak istiyorsanız), ve sonrası ayarlamalar yapılmadan önce.

Perfmon bunun için bir araçtır; değil Görev Yöneticisi. Bir anahtar sayacı Bellek - Sayfa Girişi/sn. Bu işlem sabit sayfa hatalarını, bir işlemin devam edebilmesi için diskten okumanın gerekli olduğu hataları gösterir. Yumuşak sayfa hataları (varsayılan Sayfa Hataları/sn sayacında görüntülenen öğelerin çoğunluğu; Bu sayacı görmezden gelmenizi tavsiye ederim!) Gerçekten sorun değil; sadece normalde RAM) öğesinden okunan öğeleri gösterirler.

Perfmon grafiği http://g.imagehost.org/0383/perfmon-paging.png

Yukarıda, endişe duymadan, bellek açısından bir sistem örneği var. Çok nadiren sert hatalarda bir artış olur - bunlar önlenemez, çünkü sabit diskler her zaman RAM'den daha büyüktür. Ancak grafik sıfırda büyük ölçüde düzdür. Bu yüzden işletim sistemi çok nadiren destek deposundan çağrı yapıyor.

Eğer bundan çok daha sivri olan bir Bellek - Sayfa Girişi/sn grafiği görüyorsanız, doğru yanıt ya daha az bellek kullanımı (daha az program çalıştır) ya da RAM eklemektir. Pagefile ayarlarınızı değiştirmek, sistemden gerçekte olduğundan daha fazla bellek talep edilmesini değiştirmez.

İzlenmesi gereken kullanışlı bir ek sayaç PhysicalDisk - Ort. Kuyruk Uzunluğu (tüm örnekler). Bu, değişikliklerinizin disk kullanımını ne kadar etkilediğini gösterecektir. İyi davranan bir sistem bu sayacın ortalamasının 4 veya daha az olduğunu gösterecektir mil başına.

35
quux

8 GB Vista x64 kutumu yıllardır sayfa dosyası olmadan ve sorunsuz çalıştırıyorum.

Hafızamı gerçekten kullandığımda sorunlar ortaya çıktı!

Üç hafta önce, Photoshop'ta gerçekten büyük görüntü dosyalarını (~ 2 GB) düzenlemeye başladım. Bir düzenleme oturumu tüm hafızamı yedi. Sorun: Photoshop'un dosyayı kaydetmek için daha fazla belleğe ihtiyacı olduğundan işimi kaydedemedim!

Ve tüm hafızayı yiyen Photoshop'un kendisi olduğu için, programları kapatarak hafızayı bile boşaltamadım (iyi, yaptım, ama yardım etmek için çok azdı).

Yapabileceğim tek şey işimi hurdaya çıkarmak, sayfa dosyamı etkinleştirmek ve tüm çalışmalarımı yeniden yapmaktı - Bu nedenle çok fazla iş kaybettim ve sayfa dosyanızı devre dışı bırakmayı tavsiye edemem.

Evet, çoğu zaman çok işe yarayacaktır. Ama kırıldığı an acı verici olabilir.

34
Sam

Buradaki cevaplar konuyu oldukça iyi ele alırken, yine de bu okumayı tavsiye edeceğim:

http://blogs.technet.com/markrussinovich/archive/2008/11/17/3155406.aspx

Neredeyse sonunda PF boyutu hakkında konuşuyor:

Bazıları disk belleği dosyasının bulunmamasının daha iyi performansla sonuçlandığını düşünür, ancak genel olarak disk belleği dosyasına sahip olmak, Windows'un değiştirilmiş listeye (etkin olarak erişilemeyen ancak diske kaydedilmemiş sayfaları temsil eden) sayfaları yazabileceği anlamına gelir. disk belleği dosyası, bu belleği daha kullanışlı amaçlar (işlemler veya dosya önbelleği) için kullanılabilir hale getirir. Bu nedenle, disk belleği dosyası olmadan daha iyi performans gösteren bazı iş yükleri olsa da, genel olarak bir tane olması sistem için daha kullanılabilir bellek anlamına gelir (Windows'un büyük disk belleği dosyası olmadan çekirdek çökmesi dökümlerini yazamayacağını unutmayın. onları tutmak için yeterli).

Mark'ın makalelerini gerçekten çok seviyorum.

19
Radim Cernej

Düşünebileceğim en iyi cevap, normal bir yük altında 8 GB'ı kullanamayacağınız, ancak sorun yaşayacağınız beklenmedik yükler.

Bir sayfa dosyasıyla, sistem sayfaya vurmaya başladığında en azından yavaş çalışır. Ancak sayfa dosyasını kaldırırsanız (sadece bildiklerimden) ölecektir.

Ayrıca, 8 GB şimdi çok gibi görünüyor, ancak birkaç yıl boyunca bir çok yazılım için minimum bellek miktarı olarak düşünülebilir.

Her iki durumda da - en azından küçük bir sayfa dosyası tutmanızı tavsiye ederim; ama bazýlarsam, lütfen beni düzeltin.

13
Dave Drager

Windows'un 64 bit sürümü olup olmadığından bahsetmediniz, ama sanırım evet.

Sayfa dosyası, BSoD (Ölümün Mavi Ekranı) durumunda bellek dökümü oluşturma da dahil olmak üzere birçok şeye hizmet eder.

Bir sayfa dosyanız yoksa, yeterli bellek yoksa Windows diske sayfa atamaz. 8 GB ile bu sınıra ulaşamayacağınızı düşünebilirsiniz. Ancak zamanla bellek sızdıran kötü programlarınız olabilir.

Sanırım bir sayfa dosyası olmadan hazırda bekletme/bekleme moduna izin vermez (ama henüz denemedim).

Windows 7/2008/Vista sayfa dosyasının kullanımını değiştirmez.

Mark Russinovich (Microsoft Fellow) 'dan bir açıklama, Windows'un sayfa dosyası olmadan sayfa dosyası olmadan (daha fazla RAM ile bile) daha yavaş olabileceğini açıkladı. Ama kök nedeni bulamıyorum.

Disk alanınız bitti mi? Bir BSoD durumunda çekirdek dökümü yapabilmek için en az 1 GB tutarım.

6
Mathieu Chateau

Sunucularınızın veya iş istasyonlarınızın bir sayfa dosyasına "ihtiyaç duyup duymadığını" söyleyebilecek tek kişi, performans izleyicinin dikkatli kullanımı veya bu gün ne denirse siz. Hangi uygulamaları çalıştırıyorsunuz, hangi kullanımı görüyorlar ve potansiyel olarak görebileceğiniz en yüksek bellek kullanımı nedir?

Daha küçük sabit disklerde bir miktar para biriktirmek adına istikrarın ödün vermesi olası mıdır?

Çok büyük bir düzeltme eki indirdiğinizde ne olur, örneğin bir servis paketi. Yükleyici hizmeti, düzeltme ekini paketinden çıkarmayı düşündüğünüzden daha fazla belleğe ihtiyaç duyduğuna karar verirse, ne olacak? Virüs tarayıcınız (haklı olarak) bu çok büyük paketi taramaya karar verirse, bu yama dosyasını açıp tararken ne tür bir bellek kullanımına ihtiyaç duyacağını umuyorum - umarım yama arşiv dosyası herhangi bir arşiv içermez, çünkü bu kesinlikle cinayet bellek kullanım rakamları.

Size söyleyebileceğim sayfa dosyanızı kaldırmanın yardım etmekten çok daha fazla zarar verme olasılığına sahip olduğudur. Bir tane olmamanızın bir nedenini göremiyorum - eminim ki bu konuda yanlış olduğum birkaç uzman vakası olabilir, ama bu tamamen başka bir alan.

5
Rob Moir

Sayfa dosyamı (x86 dizüstü bilgisayarda 8 GB) devre dışı bıraktım ve 2500 MB ücretsiz bile iki sorun yaşadım:

  1. WCF hizmetini etkinleştirmeye çalışırken ASP.NET hatası : Boş bellek (399,556,608 bayt) toplam belleğin% 5'inden az olduğundan bellek kapıları denetimi başarısız oldu. Sonuç olarak, hizmet gelen istekler için kullanılamaz. Bu sorunu çözmek için ya makinedeki yükü azaltın ya da serviceHostingEnvironment yapılandırma öğesindeki minFreeMemoryPerundredToActivateService değerini ayarlayın.

    3.7 GB'ın 8 GB'ın% 5'inden az olduğunu asla bilemeyeceğim !!

  2. Başlarken Bilgi kaybını önlemek için programları kapatın iletişim kutusu: RAM kullanıldığında) bir iletişim kutusu söylüyorum programları kapatın. Bunu bir kayıt defteri değişikliğiyle devre dışı bırakabilirsiniz (veya muhtemelen 'Teşhis Politikası Hizmeti'ni devre dışı bırakarak).

Sonunda tekrar açmaya karar verdim. Sadece sade ve basit Windows hiçbir zaman bir sayfa dosyası olmadan kullanılmak üzere tasarlanmamıştır. Sayfalama olmadan çalışacak şekilde optimize edilmiştir, onsuz değil. Belleğinizin% 75'inden fazlasını kullanmayı planlıyorsanız ve kayıt defterinizle uğraşmak istemiyorsanız - bu sizin için olmayabilir.

5
Simon

Pek çok ciddi insanın bu konuda bir fikri var gibi görünüyor, ancak aslında bir sayfa dosyası olmadan bilgisayarlarını çalıştırmayı hiç denemediler.

Çok az, neredeyse hiç değilse denedi. Daha azı, Windows'un sayfa dosyasını nasıl ele aldığını biliyor gibi görünüyor. Fiziksel RAM'iniz bittiğinde "sadece" dolmaz. Bahse girerim çoğunuz "ücretsiz" RAM dosya önbelleği olarak kullanılır) bile bilmiyordum!

Sayfa dosyanızı devre dışı bırakarak büyük performans geliştirmeleri alabilirsiniz. Sisteminiz yetersiz bellek hatalarına karşı daha duyarlı olacaktır (ve uygulamalarınızın bu senaryoda nasıl tepki verdiğini biliyor musunuz - çoğunlukla işletim sistemi uygulamayı sonlandırıyor). Bekleme veya uzun bekleme sürelerinden itibaren başlatma süreleri çok daha kısa olacaktır.

Microsoft gerçekten sadece fiziksel RAM (ve tüm dosya arabellekleri atıldı) zaman sayfa dosyası kullanılır bir seçenek ayarlamak için izin verirse o zaman devre dışı bırakmaktan kazanmak için çok az olduğunu düşünürdüm sayfa dosyası.

2
PP.

Kullanılabilir toplam belleğiniz, pagefile + gerçek belleğinizdir.

Anahtar soru, tüm uygulamalar için beklenen toplam bellek kullanımınızın ve işletim sistemi kullanımının 8 GB'a yaklaşıp yaklaşmayacağıdır. Ortalama bellek kullanımınız 2 GB ve maksimum bellek kullanımınız yalnızca 4 GB ise, bir sayfa dosyasına sahip olmak anlamsızdır. Maksimum bellek kullanımınız 6-7 Gb veya daha yüksekse, bir sayfa dosyasına sahip olmak iyi bir fikirdir.

Not: Gelecekte büyümeye izin vermeyi unutmayın!

2
John Lim