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 ).
http://www.windowsdevcenter.com/pub/a/windows/2004/04/27/pagefile.html
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.