Windows'ta RAM, sanal bellek, disk belleği dosyası ve bellek yönetimi
Şunlar için geçerlidir: Windows 7 Service Pack 1, Windows Server 2012 R2
Özgün KB numarası: 2160852
Özet
Bu makale, Windows'un 32 bit sürümlerinde sanal bellek uygulaması hakkında temel bilgiler içerir.
Windows gibi modern işletim sistemlerinde uygulamalar ve birçok sistem işlemi her zaman sanal bellek adresleri kullanarak belleğe başvurur. Sanal bellek adresleri, donanım tarafından otomatik olarak gerçek (RAM) adreslere çevrilir. yalnızca işletim sistemi çekirdeğinin temel bölümleri bu adres çevirisini atlar ve gerçek bellek adreslerini doğrudan kullanır.
Çalışan tüm işlemlerin gerektirdiği bellek sistemde yüklü ram hacmini aşmasa bile sanal bellek her zaman kullanılır.
İşlemler ve adres alanları
Windows'un 32 bit sürümlerinde çalışan tüm işlemlere (örneğin, uygulama yürütülebilir dosyaları) bilgisayarda ne kadar RAM yüklü olursa olsun 0 ile 4.294.967.295 (2*32-1 = 4 GB) arasında değişen sanal bellek adresleri ( sanal adres alanı) atanır.
Varsayılan Windows yapılandırmasında, her işlemin özel kullanımı için bu sanal adres alanının 2 gigabayt (GB) değeri belirlenir ve diğer 2 GB tüm işlemler ile işletim sistemi arasında paylaşılır. Genellikle uygulamalar (örneğin, Not Defteri, Word, Excel ve Acrobat Reader) 2 GB'lık özel adres alanının yalnızca bir bölümünü kullanır. İşletim sistemi RAM sayfa çerçevelerini yalnızca kullanılmakta olan sanal bellek sayfalarına atar.
Fiziksel Adres Uzantısı (PAE), Intel 32 bit mimarisinin fiziksel bellek (RAM) adresini 36 bit'e genişleten özelliğidir. PAE, sanal adres alanının boyutunu (4 GB'de kalır) değiştirmez, yalnızca işlemci tarafından ele alınabilecek gerçek RAM hacmini değiştirir.
Bir işlemde çalışan kod tarafından kullanılan 32 bit sanal bellek adresi ile 36 bit RAM adresi arasındaki çeviri, işletim sistemi tarafından tutulan çeviri tablolarına göre bilgisayar donanımı tarafından otomatik ve şeffaf bir şekilde işlenir. Herhangi bir sanal bellek sayfası (32 bit adres) herhangi bir fiziksel RAM sayfasıyla (36 bit adres) ilişkilendirilebilir.
Aşağıdaki listede çeşitli Windows sürümleri ve sürümlerinin (Mayıs 2010 itibariyle) ne kadar RAM desteği olduğu açıklanmaktadır:
Windows sürümü | Ram |
---|---|
Windows NT 4.0 | 4GB |
Windows 2000 Professional | 4GB |
Windows 2000 Standard Server | 4GB |
Windows 2000 Advanced Server | 8GB |
Windows 2000 Datacenter Server | 32GB |
Windows XP Professional | 4GB |
Windows Server 2003 Web Edition | 2GB |
Windows Server 2003 Standard Edition | 4GB |
Windows Server 2003 Enterprise Sürümü | 32GB |
Windows Server 2003 Datacenter Edition | 64GB |
Windows Vista | 4GB |
Windows Server 2008 Standard | 4GB |
Windows Server 2008 Enterprise | 64GB |
Windows Server 2008 Datacenter | 64GB |
Windows 7 | 4GB |
Pagefile
RAM sınırlı bir kaynaktır, ancak çoğu pratik amaç için sanal bellek sınırsızdır. Birçok işlem olabilir ve her işlemin kendi 2 GB özel sanal adres alanı vardır. Tüm mevcut işlemler tarafından kullanılan bellek kullanılabilir RAM'i aştığında, işletim sistemi bir veya daha fazla sanal adres alanının sayfalarını (4 KB'lık parçalar) bilgisayarın sabit diskine taşır. Bu, BU RAM çerçevesini diğer kullanımlar için serbesttir. Windows sistemlerinde, bu sayfalanan sayfalar bir bölümün kökünde bir veya daha fazla dosyada (Pagefile.sys dosyaları) depolanır. Her disk bölümünde böyle bir dosya olabilir. Sayfa dosyasının konumu ve boyutu Sistem Özellikleri'nde yapılandırılır ( Gelişmiş'e tıklayın, Performans'a ve ardından Ayarlar düğmesine tıklayın).
Kullanıcılar sıklıkla disk belleği dosyasını ne kadar büyük hale getirmem gerektiğini sorar. Yüklü RAM miktarına ve iş yükünün ne kadar sanal bellek gerektirdiğine bağlı olduğundan bu sorunun tek bir yanıtı yoktur. Başka bilgi yoksa, yüklü RAM'in 1,5 katı tipik bir öneri iyi bir başlangıç noktasıdır. Sunucu sistemlerinde, disk belleği dosyasının kullanılmaması için hiçbir zaman bir eksiklik olmaması için yeterli RAM'e sahip olmak istersiniz. Bu sistemlerde, büyük bir disk belleği dosyasını korumak yararlı bir amaca hizmet etmeyebilir. Öte yandan, disk alanı bol ise, büyük bir disk belleği dosyasının korunması (örneğin, yüklü RAM'in 1,5 katı) bir soruna neden olmaz ve bu da ne kadar büyük hale getirilme gereğini ortadan kaldırır.
Performans, mimari sınırlar ve RAM
Herhangi bir bilgisayar sisteminde, yük arttıkça (kullanıcı sayısı, iş hacmi), performans azalır, ancak doğrusal olmayan bir şekilde. Belirli bir noktanın ötesindeki yük veya talep artışları performansta önemli bir düşüşe neden olur. Bu, bazı kaynakların kritik derecede yetersiz olduğu ve bir performans sorununa dönüştüğü anlamına gelir.
Bir noktada, kaynağın yetersiz olması artırılamaz. Bu, mimari sınıra ulaşıldığı anlamına gelir. Windows'ta sık bildirilen bazı mimari sınırlar şunlardır:
- Sistem için 2 GB paylaşılan sanal adres alanı (çekirdek)
- İşlem başına 2 GB özel sanal adres alanı (kullanıcı modu)
- 660 MB sistem PTE depolama alanı (Windows Server 2003 ve öncesi)
- 470 MB sayfalı havuz depolama alanı (Windows Server 2003 ve öncesi)
- 256 MB sayfalanmamış havuz depolama alanı (Windows Server 2003 ve öncesi)
Bu özellikle Windows Server 2003 için geçerlidir, ancak bu, Windows XP ve Windows 2000 için de geçerli olabilir. Ancak Windows Vista, Windows Server 2008 ve Windows 7'nin tümü bu mimari sınırları paylaşmaz. Kullanıcı ve çekirdek belleğindeki sınırlar (burada 1 ve 2 sayısı) aynıdır, ancak PTE'ler ve çeşitli bellek havuzları gibi çekirdek kaynakları dinamiktir. Bu yeni işlev hem sayfalanmış hem de sayfalanmamış belleği etkinleştirir. Bu, ptes ve oturum havuzunun daha önce açıklanan sınırların ötesine geçerek çekirdeğin tamamının tükendiği noktaya kadar büyümesine de olanak tanır.
Aşağıdakiler gibi sık bulunan ve alıntılanan deyimler:
Terminal Server ile 4 GB RAM kullanılmadan önce 2 GB paylaşılan adres alanı tamamen kullanılır.
Bu, bazı durumlarda doğru olabilir. Ancak, bunların sisteminize uygulanıp uygulanmadığını öğrenmek için sisteminizi izlemeniz gerekir. Bazı durumlarda, bu ifadeler belirli Windows NT 4.0 veya Windows 2000 ortamlarından elde edilir ve Windows Server 2003 için geçerli olmayabilir. Bu mimari sınırların uygulamada ulaşılma olasılığını azaltmak için Windows Server 2003'te önemli değişiklikler yapıldı. Örneğin, çekirdekteki bazı işlemler paylaşılan sanal adres alanında kullanılan belleği azaltmak için çekirdek olmayan işlemlere taşındı.
RAM ve sanal bellek kullanımını izleme
Performans İzleyicisi, sistem performansını izlemek ve performans sorununun konumunu belirlemek için temel araçtır. Performans İzleyicisi başlatmak için Başlat'a tıklayın, Denetim Masası'a tıklayın, Yönetimsel Araçlar'a tıklayın ve sonra da Performans İzleyicisi'a çift tıklayın. Bazı önemli sayaçların ve bunların size söylediklerinin özeti aşağıdadır:
Bellek, Kaydedilmiş Baytlar: Bu sayaç, sanal bellek talebinin bir ölçüsüdür.
Bu, işlemler tarafından kaç bayt ayrıldığını ve işletim sisteminin disk belleği dosyasında bir RAM sayfa çerçevesi veya bir sayfa yuvası (veya belki her ikisi birden) işlediğini gösterir. Kabul Edilen Bayt sayısı kullanılabilir RAM'den büyük büyüdükçe, disk belleği artar ve kullanılan disk belleği dosyası boyutu da artar. Bir noktada, disk belleği etkinliği performansı önemli ölçüde etkilemeye başlar.
İşlem, Çalışma Kümesi, _Total: Bu sayaç , etkin kullanımdaki sanal belleğin bir ölçüsüdür.
Bu sayaç, tüm işlemler için kullanılan sanal belleğin RAM'de olması için ne kadar RAM gerektiğini gösterir. Bu değer her zaman Windows'ta kullanılan sayfa boyutu olan 4.096'nın katıdır. Sanal bellek talebi kullanılabilir RAM'in ötesinde arttıkça, işletim sistemi kullanılabilir RAM kullanımını iyileştirmek ve disk belleğini en aza indirmek için çalışma kümesindeki bir işlemin sanal belleğinin ne kadarının olduğunu ayarlar.
Disk Belleği Dosyası, %pagefile kullanımda: Bu sayaç, disk belleği dosyasının ne kadarının gerçekten kullanıldığını gösteren bir ölçüdür.
Disk belleği dosyasının uygun boyutta olup olmadığını belirlemek için bu sayacı kullanın. Bu sayaç 100'e ulaşırsa, disk belleği dosyası dolu olur ve işler çalışmayı durdurur. İş yükünüzün volatilitesine bağlı olarak, disk belleği dosyasının yüzde 50-075'ten fazla kullanılmaması için büyük olması gerekir. Disk belleği dosyasının çoğu kullanılıyorsa, farklı fiziksel disklerde birden fazla disk olması performansı artırabilir.
Bellek, Sayfalar/Sn: Bu sayaç en yanlış anlaşılan ölçülerden biridir.
Bu sayaç için yüksek bir değer, performans sorununuzun RAM eksikliğinden kaynaklandığını ifade etmez. İşletim sistemi, bellek fazla bağlılığı nedeniyle sayfaları değiştirme dışında amaçlar için disk belleği sistemini kullanır.
Bellek, Sayfa Çıkışı/Sn: Bu sayaç, HER saniye RAM sayfa çerçevelerini başka amaçlarla serbest bırakma amacıyla disk belleğine kaç sanal bellek sayfası yazıldığını gösterir.
Disk belleğinin performans sorunlarınız olduğundan şüpheleniyorsanız izlemeniz gereken en iyi sayaç budur. İşlenen Baytlar yüklü RAM'den büyük olsa bile, Çoğu zaman Sayfa Çıkışı/sn düşük veya sıfır ise yetersiz RAM'den önemli performans sorunu olmaz.
Bellek, Önbellek Baytları, Bellek, Disk Belleği Olmayan Havuz Baytları, Bellek, Havuz Disk Belleği Baytları, Bellek, Sistem Kodu Toplam Bayt Sayısı, Bellek, Sistem Sürücüsü Toplam Bayt Sayısı:
Bu sayaçların toplamı, 4 GB sanal adres alanının paylaşılan bölümünün 2 GB'ının ne kadarının gerçekten kullanıldığını gösteren bir ölçüdür. Sisteminizin daha önce ele alınan mimari sınırlardan birine ulaşıp ulaşmadığını belirlemek için bunları kullanın.
Bellek, Kullanılabilir MBytes: Bu sayaç, sanal bellek taleplerini karşılamak için (yeni ayırmalar veya sayfa dosyasından bir sayfayı geri yüklemek için) ne kadar RAM'in kullanılabilir olduğunu ölçer.
RAM kısa bir süre içinde olduğunda (örneğin, Kaydedilmiş Baytlar yüklü RAM'den büyüktür), işletim sistemi etkin kullanımda olmayan sanal bellek sayfalarını disk belleğine kopyalayarak yüklü RAM'in belirli bir bölümünü hemen kullanılabilir durumda tutmaya çalışır. Bu nedenle, bu sayaç sıfıra ulaşmaz ve sisteminizin RAM yetersiz olup olmadığının iyi bir göstergesi olmayabilir.
Başvurular
Geri Bildirim
Gönderin ve geri bildirimi görüntüleyin