Sanal bellek, işletim sisteminin programlara fiziksel RAM’den bağımsız bir sanal adres alanı sunmasına yardımcı olan bellek yönetim mekanizmasıdır. Programlar doğrudan fiziksel RAM adresleriyle çalışmak yerine sanal adresleri kullanır; donanım ve işletim sistemi bu adresleri fiziksel belleğe ve gerektiğinde başka depolama alanlarına eşler.
Bu nedenle sanal belleği yalnızca “SSD veya HDD’yi RAM yapmak” şeklinde tanımlamak doğru değildir. Diskteki sayfalama dosyası sanal bellek sisteminin parçalarından biridir, ancak sanal adresleme RAM yeterliyken de kullanılmaya devam eder.
Pagefile (sayfalama dosyası) nedir?
Windows, fiziksel bellekte tutulması gerekmeyen bazı bellek sayfalarını depolama üzerindeki pagefile.sys dosyasına taşıyabilir. Bu işlem RAM’de başka işler için yer açılmasına yardımcı olur. Windows’ta sayfa dosyaları varsayılan olarak sistem tarafından yönetilebilir ve boyutları ihtiyaçlara göre değişebilir.
RAM dolunca ne olur?
Çalışan uygulamaların bellek ihtiyacı arttığında işletim sistemi kullanılmayan veya daha az kullanılan bellek sayfalarını farklı biçimlerde yönetebilir. Bazı sayfalar disk üzerindeki pagefile’a yazılabilir. Daha sonra aynı verilere yeniden ihtiyaç duyulursa diskten RAM’e getirilmesi gerekir.
SSD ve özellikle HDD, RAM’den çok daha yüksek gecikmeye sahip kalıcı depolama aygıtlarıdır. Bu nedenle yoğun sayfalama olduğunda sistemde takılma veya yavaşlama hissedilebilir.
Sanal bellek RAM yerine geçer mi?
Hayır. Pagefile kullanılabilir bellek alanını destekler, fakat depolama aygıtının gecikmesi ve bant genişliği RAM ile aynı değildir. Fiziksel RAM yetersizliği sürekli yoğun sayfalama yaratıyorsa, daha fazla RAM bazı iş yüklerinde belirgin iyileşme sağlayabilir.
Sanal adres alanı ne demektir?
Her süreç kendi sanal adres alanında çalışır. İşletim sistemi ve işlemci donanımı, bu sanal adreslerin hangi fiziksel bellek sayfalarına karşılık geldiğini yönetir. Bu soyutlama programların bellek kullanımını birbirinden ayırmaya, bellek korumasına ve fiziksel belleğin daha esnek yönetilmesine yardımcı olur.
Pagefile neden kullanılır?
- Sistem tarafından işlenen toplam bellek yükünü desteklemek
- Az kullanılan bazı sayfaları fiziksel RAM’den çıkarabilmek
- Bazı sistem çökmesi bellek dökümlerini desteklemek
- İşletim sistemine bellek yönetiminde daha fazla esneklik sağlamak
Pagefile boyutu ne kadar olmalı?
Tek bir evrensel sayı yoktur. Microsoft, uygun pagefile boyutunun fiziksel RAM miktarı, tepe bellek kullanımı ve bellek dökümü gereksinimleri gibi sisteme özgü etkenlere bağlı olduğunu belirtir. Güncel Windows sistemlerinde pagefile varsayılan olarak sistem tarafından yönetilebilir. Özel bir gereksinim yoksa yalnızca internetteki sabit “RAM’in 1,5 katı” gibi eski genellemelerle değer belirlemek doğru değildir.
Pagefile’ı kapatmak bilgisayarı hızlandırır mı?
Genel bir kural olarak hayır. Yeterli RAM bulunan bir sistemde pagefile etkin olsa bile sürekli yoğun biçimde kullanılmak zorunda değildir. Buna karşılık bazı iş yükleri ve sistem hata dökümü senaryoları pagefile’dan yararlanır. Değişiklik yapılacaksa bunun belirli bir teknik gerekçeye dayanması gerekir.
SSD’de pagefile kullanmak SSD’ye zarar verir mi?
Pagefile yazma işlemleri SSD’nin toplam yazma miktarına katkıda bulunur; ancak modern SSD’lerde dayanıklılık üretici tarafından belirli yazma değerleriyle ifade edilir. Sırf SSD kullanıldığı için pagefile’ı kapatmak genel bir zorunluluk değildir. Gerçek kullanım ve üretici dayanıklılık değerleri birlikte değerlendirilmelidir.
Sanal bellek ile cache aynı şey mi?
Hayır. CPU önbelleği, işlemciye yakın küçük ve hızlı veri katmanıdır. Sanal bellek ise adresleme, fiziksel RAM ve gerektiğinde sayfalama alanının birlikte yönetildiği işletim sistemi/donanım mekanizmasıdır.
Working set (çalışma kümesi) ne demektir?
Bir işlemin belirli bir anda fiziksel RAM’de bulunan sayfalarının kümesine çalışma kümesi denir. İşletim sistemi, aktif süreçlerin ihtiyaçlarına göre hangi bellek sayfalarının RAM’de kalacağını ve hangilerinin gerektiğinde geri alınabileceğini yönetir. Görev Yöneticisi gibi araçlarda görülen bellek sayıları bu yönetimin farklı yönlerini gösterebilir; tek bir sayı programın bütün sanal adres alanını ifade etmez.
Commit (taahhüt edilen bellek) nedir?
Windows bağlamında “committed” bellek, sistemin gerektiğinde fiziksel RAM veya pagefile ile desteklemeyi taahhüt ettiği sanal bellek miktarıdır. Bu nedenle fiziksel RAM kullanımı ile commit değeri aynı şey değildir. Pagefile’ın devre dışı bırakılması sistemin toplam commit sınırını da etkileyebilir.
32 bit ve 64 bit sistemlerde sanal bellek farkı var mı?
Adres alanının büyüklüğü işlemci ve işletim sistemi mimarisiyle ilişkilidir. 64 bit sistemler, 32 bit uygulama ve sistemlere göre çok daha geniş sanal adres alanlarını destekleyebilir. Bununla birlikte bir uygulamanın fiilen kullanabileceği bellek; işletim sistemi sınırları, uygulamanın mimarisi ve mevcut sistem kaynakları tarafından belirlenir.
Kısaca sanal bellek
Sanal bellek, modern işletim sistemlerinin programlara sanal adres alanı sağlamasına ve fiziksel belleği esnek biçimde yönetmesine yardımcı olur. Pagefile bu sistemin depolama üzerindeki destek bileşenidir; ancak gerçek RAM’in hızını sağlamaz.