Çok fazla RAM'im varsa takas dosyasını devre dışı bırakmalı mıyım yoksa sanal RAM sürücüsüne mi taşımalıyım?


97

Bir sürü RAM aldığımı hayal edin. 64GB diyelim. Oyun PC'leri için bile çok fazla. Şimdi, Windows'ta bir sayfa dosyasının varsayılan konumu ana işletim sistemi sürücüsündedir, genel olarak daha hızlı olan ancak yine de RAM kadar hızlı olmayan HDD ya da SSD'dir.

Bir şeyler bana, sabit diskteki sayfa dosyasını devre dışı bırakmanın ya da sanal bir RAM sürücüsü oluşturup sayfa dosyasının orada kalmasına izin vermenin Windows'un tüm sanal belleğini RAM'e taşımasına neden olabileceğini ve böylece sistemin performansını artırabileceğini söylüyor, ancak bu konuda çok bilgili değilim alan, bu yüzden hiç doğru olmayabilir.

Her ikisini de denedim, ama hafızadaki bilgi seviyemle kesin bir sonuca varmak için sonuçları analiz edemedim.

Bu işe yarar mı? Değilse neden?


57
RAM diskte bir disk belleği dosyası olması hiçbir şey yapmaz. Belli bir miktarda kullanılabilir belleği alıp belirli bir miktarda sanal bellek eklersiniz. Null-toplamı. Sadece bir disk belleği dosyası yok.
usr

14
Linux'ta bunu yapmak biraz mantıklı geldiğinde, bazı durumlarda takas dosyasını barındıran ram diski gerçekte sıkıştırılmıştır. Bakınız: en.wikipedia.org/wiki/Zram . Ancak, Windows'un böyle bir özelliği olduğunu sanmıyorum.
Matt H

2
Cevap evet ama inanmayanlar var.
Mehrdad

14
@ user367257 sayfa dosyanızı depolamak için bir ram disk oluşturmak, arkadaşınıza £ 10 ödünç vermek gibidir; böylece ondan £ 10 ödünç almak için yeterli paraya sahip olur. Teknik olarak mümkün olabilir, ancak yaptığınız tek şey hiçbir yere seyahat etmeyi gereksiz yere karmaşıklaştırmak.
Rob Moir

2
Sadece bir SSD için kapatırdım (ve yapardım) çünkü 6GB ile çok fazla yazı yazıyorsunuz. İyi çalışıyor.
Ry

Yanıtlar:


134

Ne kadar RAM'e sahip olursanız olun, sistemin onu verimli bir şekilde kullanabilmesini istersiniz. Disk belleği dosyasının hiç olmaması işletim sistemini iki nedenden dolayı RAM'i yetersiz kullanmaya zorlar. Birincisi, çok uzun bir süre içinde erişilmemiş veya değiştirilmemiş olsa bile, disk önbelleğini küçülmeye zorlayan sayfalar göz ardı edilemez. İkinci olarak, hiç gerektirmediği için çok düşük olasılıkla tahsisleri geri almak için fiziksel RAM ayırmak zorundadır (örneğin, özel, değiştirilebilir bir dosya eşlemesi), bu nedenle bol miktarda ücretsiz fiziksel RAM alabileceğiniz ve tahsislerin reddedildiği bir durum ortaya çıkmıştır. fazla alım yapmaktan kaçının.

Örneğin, bir programın 4GB'lık bir dosyanın yazılabilir, özel bellek eşlemesi yapması durumunda. İşletim sistemi bu haritalama için 4GB RAM ayırmalıdır, çünkü program her byte'ı makul bir şekilde değiştirebilir ve depolamak için RAM'den başka bir yer yoktur. Bu yüzden hemen, 4GB RAM temel olarak boşa harcanır (temiz disk sayfalarını önbelleğe almak için kullanılabilir, ancak bu konuda).

RAM'inizden en iyi şekilde yararlanmak istiyorsanız, hiç kullanılmamış olsa bile, bir sayfa dosyasına sahip olmanız gerekir. İşletim sisteminin olağanüstü derecede olası olmayan olasılıklar için ayırmak yerine, sahip olduğu RAM'i kullanmasına izin veren bir sigorta poliçesi görevi görür.

İşletim sisteminizin davranışını tasarlayan insanlar aptal değildir. Bir disk belleği dosyasına sahip olmak, işletim sistemine daha fazla seçenek sunar ve kötü sonuçlar vermez.

RAM'e bir disk belleği dosyası koymaya çalışmanın bir anlamı yok. Çok miktarda RAM'iniz varsa, disk belleği dosyasının kullanılması pek olası değildir (sadece orada olması gerekir), bu nedenle cihazın ne kadar hızlı olduğu önemli değildir.


9
Olumsuz oyla çelişiyordum. Ancak son yorumunuz için: Değiştirilemeyen 2 farklı makine kullanıyorum. Makinenin tam olarak nasıl kullanılacağını biliyorsanız, gayet iyi.
spudone

6
Bir ramdrive'daki sayfa dosyasının, bazı yazılımların sayfa dosyası olmadığını tespit ederse başlatmayı reddedeceği için bir "kült" geçici çözümü olarak başlatıldığından şüpheleniyorum. (Adobe'nin grafik / video araçlarına bunu yaptığı söylendi.)
Dan Neely

8
@DavidSchwartz Verdiğiniz bilgiler teknik olarak doğru ve bilmek iyi bir bilgi. Ancak, ne kadar RAM'inizin doğru olduğuna bakılmaksızın her zaman bir sayfa dosyasına sahip olmanız gerektiği sonucuna vardım ve bunun kabul edilen cevap olmaması gerektiği yönündeki iddiamın yanındayım.
Jason Wheeler

5
Sadece bu işitme sevmiyorum "disk belleği olan sihirli yüzden onları kapatmayın ya da üzgün olacağım" Ben birçok ortak şartlar altında bunu bildiğinde olabilir bunları kapatmak ve güvenli bir şekilde performansında iyileşme göreceksiniz çünkü sen MMS bir şey yapmak istediğinde artık disk G / Ç'yi% 100 veya daha fazla artırmıyor. Bu tartışmanın diğer tarafındaki insanlardan duymak istediğim "evet, onları kapatabileceğiniz ve düşmeye neden olabilecek disk G / Ç'yi azaltabileceğiniz durumlar var" dır. Sayfa dosyalarının her zaman kötü olduğunu söylemiyorum, belki de her zaman gerekli olmadıklarını söyleyebilirsiniz.
Fred Hamilton

5
Tüm bunlar hakkında beni kızdıran şeyin bir tarafının "sayfa dosyalarının hiçbir zaman iyi bir şey yapmadığını" ve diğer tarafın "sayfa dosyalarının korkunç olduğunu" söylediğini ve sonra insanların bir tarafa ya da diğer taraflara dayandıklarını anladım. "Gerçek", bazı durumlarda çok faydalı ve çarpmayı önleyici, diğer durumlarda ise ihtiyaç duymadıkları ve performansın düşmesine neden olabileceğidir. Ne olursa olsun son ifademden memnunum. Uzun ve başarılı yaşa, David Schwartz.
Fred Hamilton

32

Varsayımınızda tamamen haklısınız.

Bellek yönetimi algoritmaları çok karmaşık ve hiçbir şekilde mükemmel değil. Bu yüzden takas, bol miktarda yedek RAM olsa bile gerçekleşir. Bazı sistemlerde, değiş tokuşLinux yapabilir , bazılarında ise yapamazsınız. Hala bol miktarda RAM olduğunda veriyi değiştirerek, sistem kendi şekilde RAM'in tükenebileceği duruma hazırlanır.

Dolayısıyla, takas işlevini devre dışı bırakmak size performansta iyileşme sağlayabilir çünkü yalnızca sizin dediğiniz gibi daha hızlı olan RAM kullanacaksınız.

Dikkate alınacak bir şey (ve daha önce de bahsetmiştin) - yürüttüğün tüm programları yerleştirmek için yeterli RAM'ine ihtiyacın var , aksi takdirde hafızanın tükenme riski var . Bu durumda performans düşecek, bazı işlemler işletim sistemi tarafından sonlandırılabilir ve sistem çökebilir / donabilir. ( burada daha fazla bilgi edinin )

Bazı makinelerde, özellikle sabit disk sürücüsünde SSD olmayan takas dosyasını saklayanlar için, takas etkisinin kaldırılmasının etkisi çok belirgindir. Diğerlerinde o kadar açık değil. Ancak, belirgin bir gelişme elde etmeseniz bile, başka bir şekilde düşünün, takas özelliğini devre dışı bırakarak, SSD'nizde kendinize bir miktar disk alanı kazandıracaksınız.

Takaslamayı devre dışı bırakarak, bellek algoritmalarının gereksiz işlem yapmasını da önleyebilirsiniz - verileri RAM'den takas ve tersine taşımak - SSD durumunda bu aşırı aşınmayı önler. Ve her durumda, bu gereksiz işlemleri ortadan kaldırarak performansı artıracaktır.

Ayrıca şunu da okuyun:


2
@ChrisH Ayrıca bir RAM işlemcisini bir kelime işlemcisine yükleyemezsiniz, çünkü tamamen RAM'de çalışanlar :-)
TylerH

9
Bu cevap yanlıştır ve birçok yanlış bilgi içerir. Ancak neden yanlış olduğunu görmenin basit yolu şudur - işletim sisteminizin bellek davranışını tasarlayan insanlar muhtemelen dünyadaki en zeki insanlardan bazılarıdır. Neden daha fazla seçenek (örneğin, bunun en iyisi olacağını düşünüyorsa değiş tokuş etme seçeneği) verecek şekilde bir sistem tasarladılar mı? Sadece bir salak böyle bir sistem tasarlardı.
David Schwartz

17
@DavidSchwartz, bellek yönetimi algoritmaları geliştiren kişilerin akıllı olmasının orijinal konu üzerinde nasıl bir fark yarattığını anlamıyorum. OP, takas etmenin devre dışı bırakılmasının performansı iyileştirip iyileştirmeyeceğini sordu ve bunun belirli koşullar altında ve diğer koşullar altında sorunlara yol açabileceğini açıkladım. Neden (?) Sorusuna cevap vermek - Söyleyebiliyorum, çünkü algoritmalar mükemmel değil ve kullanıcının bunları ayarlamasına izin veriyor. Bu yüzden Linux'ta bir swappiness parametresi var ve bu yüzden swapping'i devre dışı bırakmak mümkün.
Art Gertner

11
@smc OP'nin kullanım davasıyla ilgili olağandışı bir şey yok. İşletim sistemlerinin bataklık standart kullanım durumları için uygun şekilde ayarlanmadığı fikri saçmadır. (Bunu neden yapmak istemediğiniz hakkında daha fazla bilgi için cevabımı görün.)
David Schwartz

4
Belirli bir algoritmanın, kullanıcı için her zaman arzu edilen bir karar vereceği varsayımı, gerçeğe uygun değildir. Programcıların belirledikleri önemli parametrelere dayanarak kararlar alırlar. Bu, bir kullanıcının olması gerekenle doğrudan ilgili olabilir.
Anaksunaman

14

Sayfa dosyasını güvenle devre dışı bırakabilir misiniz?

Boş bellek de dahil olmak üzere, sanal bellek de dahil olmak üzere, sistem deterministik çalışmayı garanti altına almaya devam edemez ve kendini sonlandırır. Bu gerçekleşmeden önce, işletim sistemi çok fazla bellek kullanan programları öldürmek gibi başka şeyler de yapacaktır. Söylemek istediğim, hafıza her zaman sonludur ve her işletim sistemi bununla baş edebilir. Bu nedenle toplam kullanılabilir belleği 64 GB ile sınırlandırmak Windows'a zarar vermez - birçok sistem bir sayfa dosyasıyla bile 8 GB'yi geçemez, çünkü 1 veya 2 GB RAM ile sayfa dosyası genellikle 6 veya 7 GB'den çok daha küçüktür. Aşırı miktarda kullanılmamış RAM kullandığınız sürece, bir sayfa dosyası tutan işletim sisteminin ek yükünün ölçülemeyeceği unutulmamalıdır.

Sayfa dosyasını bir ramdisk üzerine koymak mantıklı mı?

Kullanılabilir belleği artırmak için, çoğu gelişmiş işletim sistemi RAM'de olan ve bir süredir erişilemeyen bir hafızayı aldıkları bir tür takas dosyası kullanıyorsa, belleği sabit diske yazın (takas dosyası aka sayfa dosyası ) ve daha hızlı bellek elde etmek için belleği RAM’den silin. Takas dosyası, belleğin maksimum boyutunu mevcut RAM boyutunun ötesine genişletmek için kullanılır.

Bu nedenle, swapfile (swapfile boyutuna göre kullanılabilir belleği artıran) barındırmak için bir ramdisk (kullanılabilir belleği ramdisk boyutuna göre azaltır) kullanmak işe yarayacak, ancak çok fazla bir anlam ifade etmeyecek. Sayfa dosyasını devre dışı bırakmaktan daha fazla bellek sunmayacaktır, ancak yine de sistemin disk belleği algoritmaları çalıştırması gerekir.


Ancak, sayfa dosyasının sanal bir RAM sürücüsünde olması durumunda, bazı megabaytları RAM'den sanal sabit sürücüye kopyalamak veya geri almak için kullanılan süre kısalır. Sayfa dosyası tamamen devre dışı bırakılmışsa, bunun üzerinde hiçbir zaman boşa zaman harcanmamalıdır. Bu doğru mu?
user1306322

2
Doğru. Baytları RAM'den bir ramdisk üzerindeki bir sayfa dosyasına kopyalamak, mümkün olan en hızlı sayfa dosyasıdır. Ama hiç kopyalamamak daha akıllıca.
Peter,

2
RAM eksikliğini telafi etmek için takas dosyaları var. Bol miktarda RAM varsa, telafi etmeye gerek yok. İşletim sisteminiz takas dosyasını yine de kullanacak, bu durumda bu özelliği kapatmak daha hızlı olacaktır.

6
@Mast Bu çok büyük bir basitleştirme. RAM'in verimli kullanılmasına izin vermek için takas dosyaları da vardır.
David Schwartz

1
@DavidSchwartz Belki, ama bana en iyi açıklayan açıklaması budur. Çoğu durumda, küçük bir takas dosyası her zaman bir takas dosyası olmadığı zaman her zaman yararlıdır. Ancak, bunu destekleyen kaynaklarım yok.

8

Başkalarının söylediklerini tekrarlamak için, takas bir düz RAM diske taşınması oldukça anlamsızdır (en yaygın durumda, aşağıya bakınız). Belirli bir noktada, sistem boş hafıza için aç kaldığında, bazı verilerin RAM'den RAM'e oldukça etkin bir şekilde taşındığı anlaşılmaktadır.

HDD / SSD ile takas yapılması, işletim sisteminin tamamen kullanılmayan RAM sayfalarını temizleyebildiğini ve serbest bırakılan alanı, örneğin dosya önbelleği veya diğer sistem arabellekleri için kullanabilmesini sağlar. Sayfa dosyası olmadan kullanılabilir bir sanal belleğiniz olmadığından, sistemin bu RAM arabelleklerinin daha azını tahsis ettiğini fark etmeyebilirsiniz; Bu nedenle, takas özelliğini devre dışı bırakarak performansınızı etkiliyor olabilirsiniz.

Bununla birlikte, takas sürücüsü olarak bir "ZSWAP" sürücüsü olan sıkıştırılmış bir RAM diski , bir RAM segmentinin alan verimliliğini artırarak sabit durumlarda (HDD'nin değişmesini önlemek için sadece birkaç ek RAM RAM'e ihtiyaç duyabileceğiniz yerlerde) faydalı olabilir. Belirli ölçüde.


1
ZSWAP'tan bahsettiğin için +1. Yaygın olarak bazı mobil platformlarda ve OS X 10.9'da (takas yerine de olsa) kullanılır.
James_pic

"Takaslı bir sürücü olarak sıkıştırılmış RAM diskinin" hala, asıl sayfa dosyası dışındaki tüm "disk belleği dosyaları" için bir şey yapmama sorunu olduğunu unutmayın.
Jamie Hanrahan

5

Bir sayfa dosyanız yoksa, BSOD (kilitlenme) durumunda Windows kilitlenme dökümü dosyasını yazamaz. Bu, uygun araçları kullanarak sorunu analiz edemeyeceğiniz anlamına gelir.

Çökme sırasında kaybolabileceğinden, sayfa dosyasının RAM'da olması yararsızdır.

Daha fazla bilgi için, Crash Dump Dosyalarını Anlama adlı Microsoft makalesine bakın .


4

Windows için, atların ağzından:

Bazıları disk belleği dosyasının bulunmamasının daha iyi performansa yol açtığını düşünmektedir, ancak genel olarak, disk belleği dosyası olması, Windows'un değiştirilmiş listeye sayfaları yazabileceği anlamına gelir (bu, aktif olarak erişilmeyen ancak diske kaydedilmemiş olan sayfaları gösterir). disk belleği dosyası, böylece bu belleği daha yararlı amaçlar için kullanılabilir hale getirir (işlemler veya dosya önbelleği). Bu nedenle, bir disk belleği dosyası olmadan daha iyi performans gösteren bazı iş yükleri olsa da, genel olarak sistemde daha fazla kullanılabilir bellek * olması, (Windows'un disk belleği boyutunda bir disk belleği dosyası olmadan çekirdek çökmesi dökümü yazamayacağına dikkat edin) onları tutacak kadar büyük).

https://blogs.technet.microsoft.com/markrussinovich/2008/11/17/pushing-the-limits-of-windows-virtual-memory/

  • kullanılabilir bellek - bu nedenle sanal belleğe sahip olmanızı önermesine rağmen, sayfa dosyası / sanal belleğe sahip olmamadan emin olmak için gerçekten çok miktarda RAM'e ihtiyacınız olduğunu da gösterir. Sayfa dosyası olmayan 4 GB RAM 128 GB SSD'm var, ancak web'de gezinmek ve sözcük belgelerini yazmak için kullanıyorum.

2
Öğrendiğim kişisel derslerim ve tüm yeni çalışanlara vaaz ettiğim bir şey: Sadece 2 kural var. # 1: Asla Microsoft'a güvenme. 2. .. sen 1 kural dinlemedi, bu yüzden herhangi bir kural 2. yoktur
Nick

3

Takas Dosyasını Devre Dışı Bırakma Sadece hafızanız tükendiğinde değildir. Bunu kapatmak için doğrudan bir performans kazancı yoktur , pencereler yalnızca gerektiğinde okur, her zaman ona yazar, böylece gerektiğinde hazır olur.

Sıkıştırılmış bellek görüntüsünü sakladığından, 4GB'tan daha fazla süreniz varsa, bunu yaklaşık 2 / 3d bellek boyutuna düşürebilirsiniz. Bir SSD'de yeriniz yoksa, diğer ağır disk erişimi tarafından erişilmeyen daha yavaş sabit sürücünüze yerleştirebilirsiniz. Ancak bir yerlerde olması faydalıdır.

Neden olarak daha fazla bilgi için bu cevaba bakınız. https://superuser.com/a/286476/4236


3

Teoride, sayfa dosyasını RAM'e koymak hiç mantıklı gelmemelidir, çünkü sadece sizin kazandığınız şeyleri tüketiyorsunuzdur ve Windows, sayfa dosyasının bu amaçlarla kullanılmayacağı varsayımı üzerine kuruludur.

Ancak uygulamada hatalı tasarım ve felsefe, Windows çekirdeğini bile oluşturabilir ve Microsoft'un bellek yönetimi mutlaka mükemmel değildir. Birçoğu , sayfa dosyasını bir Ramdisk'e yerleştirmenin gerçekten de yeterli miktarda belleğiniz olduğu sürece performans artışıyla sonuçlandığını keşfetti .

Büyük miktarda RAM ücretsiz olmasına rağmen, sayfa dosyasının hala kullanılmakta olduğunu bulan tek bir forumun başlığından bu tür kullanıcıların bir koleksiyonunu gösteren bir yazı derledim :

http://www.overclock.net/t/1193401/why-it-is-bad-to-store-the-page-file-on-a-ram-disk/290#post_23508589


Bu listeyi derlediğiniz için teşekkürler. Teori ve pratiğin bu konuda farklı olduğuna dair bazı kanıtlar ortaya koymaya yardımcı olmalıdır. Virtual memory − A paging file is an area on the hard disk that Windows uses as if it were RAM.Evet, sanki: p
kullanıcı1306322

bu sonuç hatalı. İşletim sisteminin sayfa dosyalarına "büyük miktarda RAM içermeyen" olmasına rağmen, "hatalı tasarım ve felsefe" hakkında hiçbir şey kanıtlamaz. İşletim sisteminin kararlarını doğru bir şekilde değerlendirmek için yeterli bilgiye sahip olmadığınız anlamına gelir. Sadece yeni başlayanlar için, çok sayıda değiştirilmiş sayfanın bulunduğu durumu göz önünde bulundurun. Sayfa dosyasına yazılırlar ve bekleme listesine taşınırlar - şimdi "kullanılabilir" bir parçasılar. Anladın mı RAM mevcuttur çünkü içeriği sayfa dosyasına yazılmıştır!
Jamie Hanrahan

@JamieHanrahan: Bu, RAM'in bir kısmından daha nadiren kullanılmasına rağmen, insanların neden hala sorun yaşadıklarını açıklamıyor. Bu konudaki yorumlar şunları içeriyor: "Asla yarısından fazlasını kullanmadım", "Sayfa dosyası kullanımı yaklaşık 2.7GB'tır, burada RAM kullanımı 16 GB'ın 3.23GB'ıdır.", "Ne zaman Illustrator kullanarak çarpıcı bir performans artışı yaşadım Sayfa dosyasını yarattım ve RAMDisk'e taşıdım ".
Dan W

Bu yorumların çoğu zayıf bilgi kaynaklanmaktadır. RAM'de sık erişilmeyen şeyler tutularak performans sorunlarının çözülmesi olası değildir. Sayfa dosyası, disk belleği ile ilgili tek dosya değildir; Orada yüzlerce kişi var, bu yüzden sadece sayfa dosyasını etkileyen bir şey yapmanın (ve GB'lerin RAM'ını sistemin geri kalanından uzaklaştırması, böylece sayfa hatası oranını arttırması) herhangi bir "dramatik" etki yaratması muhtemel değildir. Bu raporlar genellikle uygun şekilde kontrol edilen testler yapıldığında sürdürülemez. Her türlü inancı destekleyecek anekdotlar bulabilirsiniz; Onları ikna edici bulmuyorum.
Jamie Hanrahan

Özellikle, "sayfa dosyası kullanılıyor" iddiası kanıt gerektiriyor. Sayfa dosyasında yalnızca GB'lerin olması, sayfa dosyasının kritik bir performans yoluna koyacak şekilde kullanıldığını kanıtlamaz. Bunu değerlendirmek için, bir sayfadaki sayfa dosyasını tek başına veya en azından başka herhangi bir şey için aktif olarak kullanılmayan bir kişiden ayırın ve daha sonra IO oranlarını izlemek için bu "mantıksal disk" üzerindeki PerfMon'u kullanabilirsiniz. Sayfa dosyası çok sık okunmuyorsa, ne kadar yazıldığının önemi yoktur!
Jamie Hanrahan

2

Takas kullanmamak için çok çekirdekli bir işletim sistemini dönüştürmek, göründüğünden çok daha zor.

Modern Mac'lerde kurtarma bölümü bulunur - ana sürücüyü, ana sistemi onarabilen ya da geri yükleyebilen soyulmuş işletim sistemine sahip bir parçası. DVD yükleyici günlerinde özel bir işlem yürüttüler, sistem artık takas bölümü için bir RAM diski oluşturuyor, çünkü yükleyicinin çalışma disk alanı hazır olması garanti edilemez. İşletim sistemi, kurulumdan sonra mevcut yardımcı programlarla aynı olan bakım yazılımını çalıştırmak için gereken çerçeveleri içerir. Herkes için çok daha az iş.

Sistemi bir kerede bir uygulama ile sınırlamak, ramdisk takas işleminin temelde asla kullanılmayacağı, ancak işletim sisteminin orada olmasını beklediği anlamına gelir.


2

Yeterli hafızanız varsa, cevap evet olacaktır. Swap, RAM kısıtlamalarının üstesinden gelmek ve kullanımını daha verimli kılmak için yaratıldı.

Şimdi soru şu ki, ne kadar RAM yeterli RAM? Bunun için evrensel bir cevap yok ve doğadan sistemler bellekte aç. Bu nedenle, çok özel ve kontrollü bir ortamda koşmadığınız sürece takas işlemini kapatmayın.

RAM takas gibi başka bir dublör sadece ekstra bir karmaşıklık katmanı oluşturmak ve aksi takdirde doğrudan kullanılabilecek bellek harcar.


2

Sistemimde 24GB RAM var, bu nedenle, SSD'mde herhangi bir sorun yaşanmadan aşınmayı önlemek için sayfa dosyasını devre dışı bıraktım. Kısa bir süre önce, Google Chrome Cache dosyalarını saklamak için 4GB’lik Bellek’i kullanarak, çevrimiçi Flash Player oyunlarının performansını ve genel web'de gezinmeyi artırıp artırmayacağını görmek için bir RAM Disk oluşturdum. Bu denemede performansta belirgin bir artış olduğunu gördüm. RAM Diskimde daha fazla alan bulunduğundan, sayfa dosyamı etkinleştirdim ve hem minimum hem de maksimum boyutu 1 GB olarak belirledim ve RAM Diskine taşıdım. Her ne kadar herhangi bir performans artışı olduğunu söyleyemem, sistemim daha kararlı çalışıyor gibi görünüyor.


Sadece SSD'nize bir sayfa dosyası koymaktan çok daha iyi olurdu. Gerekmediği takdirde Windows kullanmaz. RAM disk üzerine bir sayfa dosyası koymak çok saçma. Evet, bu "dosya" sayfasındaki sayfa hataları, gerçek bir diskte olduğundan daha hızlı çözülecektir, ancak RAM'i ilk önce RAM diskine atayarak, sayfa hata sayısını artırıyorsunuzdur. Kendinden borç para almak, kendine ilgi duymak ve "faizi" atmak gibi bir şey. Yanlış bile değil.
Jamie Hanrahan

1

Sayfa dosyasını RAM'e taşımak saçma bir fikirdir Sadece kapatıp daha fazla RAM ile. :)

No matter how much RAM you have, you want the system to be able to use it efficiently. Having no paging file at all forces the operating system to use RAM inefficiently for two reasons. First, it can't make pages discardable, even if they haven't been either accessed or modified in a very long time, which forces the disk cache to be smaller. Second, it has to reserve physical RAM to back allocations that are very unlikely to ever require it (for example, a private, modifiable file mapping), leading to a case where you can have plenty of free physical RAM and yet allocations are refused to avoid overcommitting.

Consider, for example, if a program makes a writable, private memory mapping of a 4GB file. The OS has to reserve 4GB of RAM for this mapping, because the program could conceivably modify every byte and there's no place but RAM to store it. So immediately, 4GB of RAM is basically wasted (it can be used to cache clean disk pages, but that's about it).

Bellek Yönetimi CPU tarafından yönetilir ve sayfa dosyasının açık veya kapalı olması, sayfaların nasıl işlendiğine dair bir fark yaratmaz. Windows'a karşı şeffaf.

Sayfa önceliği değişmez, sayfalar aynı şekilde atılır. Sayfa dosyaları CPU tarafından işletim sistemi değil ikincil depolama olarak kullanılır. Birinci seviye (RAM) bittiğinde ikinci seviye önbellekten başka bir şey değildir.

Çabuk ve çok kirli bir örnek :, makinemde 16GB RAM ve sayfa dosyası yok. 5 dakika önce 13GB bekleme modunda ve sadece 2GB ücretsiz, Fallout 4 yükledim. Düşük öncelikli sayfalar Fallout yüklerken atıldı.

Bir yandan not olarak, Windows Bellek Limitlerini İtmekle İlgili 2008 Tekniği Blogu çok yanıltıcıdır - aldatma noktasına geldiğini söyleyebilirim. https://i.stack.imgur.com/wXkmi.png Ben de Mark yazmış olsa bile şüpheliyim, ama umarım ki, onun bakış açımı değiştirmez.

Fwiw, benden kaçtığını düşündüğüm hiç kimsenin seçemediği makalede şaşkınlık yaratan boşluklar var.

  • Sayfa dosyası ve konumu Windows tarafından işlenir, diske disk belleği yerleştirilmiş konumlara bellek erişimi yakalamak CPU tarafından yakalanır, ancak sayfayı diskten almak ve yüklemek için işletim sistemine verilir.

Her neyse, buradaki belirsiz bir açıklama:

Windows CPU'dan daha yüksek adreslere ulaşamıyor - bu mümkün değil.

İşletim sistemindeki yetenekleri ne olursa olsun, üzerinde çalıştığı donanım ile sınırlıdır. Çünkü işletim sistemi aslında CPU'nun kendisidir (dahili kayıtlar).

Tamam, sayfa dosyası, fiziksel veya mimari olarak daha fazla RAM kullanamadığında CPU'nun genişletilmiş fiziksel adres alanı için kullandığı bir alandır.

Örneğin segment x86 32bit mimaride iki adet 2GB RAM vardır.

Bir tanesi çekirdeğe tahsis edildi. Diğer 2GB kullanıcı modu içindir. Hepsi bu RAM , CPU 32 DRAM iğnelerle kullanabilirsiniz ancak bir 32 bit işlemi yapmak yani ne 4GB kullanılabilir vardır. Neyse ki CPU, ikincil depolama AKA'sını 2GB'lık fazla sayfayı saklamak için sabit sürücüyü kullanabilir. Dahili kayıtlara sahip olduğundan
İşlem tarafından başvurulan sanal sayfaların RAM'de saklanması gerekmeyen fiziksel konumlar. Ancak CPU tarafından bir yere depolanmışlardır.

İşlemci uygulamasına tüm 4GB RAM veremem, ama olabilir ikincil önbellek gibi HDD kullanarak bunu adrese 4GB vermek (tüm HDD gerçekten)

Sayfalar dahili disk belleği mekanizması aracılığıyla RAM içine ve dışına taşınır, ancak bu bir sayfa dosyasıyla aynı değildir. Çağrı her zaman gerçekleşir ....

Sonuç olarak bu gerçekten karmaşık değil. Son 15 yıldan bu yana birçok son kullanıcıya bir sayfa dosyasının İşletim Sisteminin ayrılmaz bir parçası olduğu izlenimi verildi, öyle değil. Asla olmadı. Bu yanılgı, kısmen Intel ve Microsoft gibi şirketler tarafından desteklenmektedir.

RAM hızlı bir depolama aygıtıdır, Sabit Sürücü daha yavaş bir depolama aygıtıdır, bu nedenle temel olarak RAM seviye 1 önbellektir, Sabit Sürücü Düzey 2'dir (bu benzetme için CPU önbelleğini dikkate almaz). Her ikisine de CPU tarafından erişilebilir.

CPU'nun ihtiyaç duyduğu sayfaları saklaması için yeterli RAM yoksa, HDD taşma olarak kullanılabilir. Çok miktarda RAM varsa, PF gereksizdir.

Core 2'ye kadar Intel işlemciler 32pin DRAM veriyoluna sahipti ve işlemcinin 4GB RAM ve 4GB HDD alanına (sayfa dosyası) erişimi olduğu anlamına gelen 32 yazmaç vardı. Bu, bir Windows sınırlaması değil, bir mimari donanım sınırlamasıdır.

İşlemler için mevcut toplam 3.5 GB'tır, çünkü bir sayfa tablosu 512 MB'tır. Bu yüzden 3.5GB, Intel CPU'lu Windows'ta (Core 2'ye kadar) ortaya çıkıyor. Bir GPU ekleyin ve daha az kullanılabilir.

Xeon, 32GB RAM, HDD içeren 64 GB Fiziksel Alan'a erişebilir (tekrar sayfa dosyası). ( Bu ^ PAE'yi kapsar, -bağlantılar eklenmiş olarak gelir ).

görüntü tanımını buraya girin http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html

görüntü tanımını buraya girin

görüntü tanımını buraya girin

3rd ekran görüntüsü kaynağı: System V Uygulama İkili Arabirimi AMD64 Architecture Processor Supplement Draft Version 0.99.7

Bu cevabı geliştirmeye ve kaynak materyal ile ilgili bilgi eklemeye devam etmek istiyorum. Yeterince bilgi ile çok fazla teknik bilgi arasında bir denge kurmak istiyorum. Önerilerinizi bekliyoruz. Lütfen o kadar iyi yazılmamış olabileceği için oy vermeyin.


Yorumlar uzun tartışmalar için değildir; bu konuşma sohbete taşındı .
DavidPostill
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.