Windows Server Core 2019 — Page File (Sanal Bellek) Boyutu ve KonumuYapılandırma
Pagefile dosyası, boyutu ve konumu nasıl yapılandırılır?
Pagefile (sanal bellek) nedir?
Windows işletim sistemlerinin sanal bellek yönetimi için kullandığı sistem dosyasıdır. Standart olarak C:\ dizininde tutulmaktadır. Windows çalıştığı cihazın donanım RAM’i üzerinde sıkışma yaşadığında yani bellek yetersiz yada yoğun kullanıldığında bu dosyaya yazmaya başlar. Sistem sadece sıkışmalarda ve yetersiz kaldığı durumların dışında düşük öncelikli işlemlerde de donanım belleğinde gereksiz yer kaplamaması için bu dosyayı kullanabilir. Tabi bu sürecin amacı sisteme perfromans sağlamaktadır. Windows Server Core ve Full Desktop (GUI) sanal bellek miktarını otomatik olarak ayarlar ama bazı durumlarda özellikle veritabanı rolündeki iş-kritik olarak çalışan sunucular için elle yapılandırılması performansa olumlu etki etmektedir.
Pagefile boyutu ve dosyası nasıl ayarlanmalıdır?
Birçok sanal yada fiziksel sunucuda pagefile yapılandırması göz ardı edililir ve RAM (bellek) yetersiz kaldığında aklımıza gelir ama bu kısmen yanlış bir algıdır. Pagefile ramin yeterli olduğu durumlarda da ön bellek görevi görmektedir. Pagefile bu kadar önemliyken aynı zamanda kapatılabilir bir sistem özelliğidir ama kapatmanız performans kaybına yol açacaktır. Pagefile ayarlarken;
- Boyut belirlenirken RAM’in en az 1.5 katı olarak ayarlanmalıdır. (Sistem belleği x 1.5 = Pagefile boyutu) 8GB x 1.5 = 12GB sanal bellek
- Mümkünse sistem diskinden ayrı ve hızlı bir diskte tutulmalıdır. SSD gibi. Bu disklerde RAID yapılandırması ile olası disk arızalarına karşı önlem alınmalı yoksa olası bir disk probleminde sistem sapıtabilir.
- Pagefile.sys dosyası için fragmantasyon (parçalanma) ve bad sector olmayan diskler tercih edilmeli. Parçalanma olumsuz etkileyeceği için periyodik defrag işlemi gerekebilir.
Full Desktop (GUI) Windows Server işletim sistemlerinde boyutu grafik arayüzde yapılandırabiliyorken Server Core üzerinde bu işlemi komut satırı ile yapıyoruz.
Gerçek hayatta karşınıza çıkabilecek bir durumu hatırlatmak isterim. Bazen biz sistem yöneticileri eski sunucu donanımlarda çalışabiliyoruz. Örnek olarak SSD yada flash diskleri olan ama kapasitesi düşük olan sunucularda sistem yavaş disklerde çalışırken pagefile dosyası hızlı disklerde tutularak performans artışı sağalanabilir. Devam edelim…
Öncelikle sistemimizde şuanki pagefile boyutunu aşağıdaki komutla kontrol ediyoruz;
wmic.exe pagefile list /format:list (/format:list = sonucu listelemek için)
AllocatedBaseSize= Tanımlı pagefile boyutu
CurrentUsage= Şuanki kullanım
Descripton= Pagefile dosysının konumu
InstallDate= Pagefile boyutunun en son yapılandırıldığı tarih
Name= Pagefile dosya ismi ve uzantısı
PeakUsage= En yüksek talep
Status= Durum
TempPageFile= Geçici Pagefile dosyasının oluşturulup oluşturulmadığı bilgisi
Sanala kurduğum bu sistem çıktısı için ilk ayarlar sistemin varsayılanda ayarladığı değerlerdeydi. Pagefile yapılandırmasını sistemin otomatik yapmasını devre dışı bırakmamız gerekiyor. Bu işlemleri CMD üzerinden administrator yetkisisine sahip hesaplar ile yapabilirsiniz.
wmic.exe computersystem where name=”%computername%” set AutomaticManagedPagefile=False
Şimdi elle belirlediğim minimum ve maksimum değerleri giriyorum;
wmic.exe pagefileset set InitialSize=2048,MaximumSize=4096
İşlemin gereçli olabilmesi için sistemi restart ediyorum. “shutdown -r -t 0” Tekrardan wmic.exe pagefile list /format:list yazarak değerleri kontrol ettiğimde değerlerin değiştiğini görmekteyim
Yukarıda pagefile dosyasının sistemle aynı diskte olmaması performans açısından önemli demiştik. Şimdi uygulamada D diskinin hızlı bir disk olduğunu farz ederekten pagefile.sys dosyasını D:\ dizini içerisine alalım. Bu işlem için yine sistemin otomatik pagefile boyutlaması disable halde kalmalı. Ben daha önceden disk işlemlerini yaptım ve D sürücüsüne diski atadım. Yine CMD üzerinden administrator yetkisi ile aşağıdaki komutu giriyoruz.
Taşıma işlemine geçmeden önce Windows sunucularda gelen Best Practice Analyszer (BPA) çalıştırıldığında “best practice” uygulamada en iyi olarak replikasyon trafiğiniz var ise pagefile dosyasını atadığınız diskin hariç tutulmasını önermektedir. Pagefile dosyasını yoğun repliaksyon içerek ve veri tabanı işlemlerinde ayırmanız bu açıdan da faydalı olacaktır.
Pagefile.sys Disk Taşıma İşlemi
D diski üzerinde pagefile.sys dosyasını oluşturuyoruz;
wmic.exe pagefileset create name=”D:\pagefile.sys”
D diskinddeki pagefile değerlerini belirliyoruz;
wmic.exe pagefileset where name=”D:\\pagefile.sys” set InitialSize=2048,MaximumSize=4096
C diski üzerindeki eski pagefile dosyasını siliyoruz;
wmic.exe pagefileset where name=”C:\\pagefile.sys” delete
Restart işlemini yaptıktan sonra pagefile dosyasının durumuna bakalım;
Sonuç olarak D diskine taşıma işlemini başarı ile gerçekleştirdik. Senaryomuza göre pagefile yapılandırıldı ve hızlı bir diske aktarıldı / oluşturuldu. Artık sistemimiz daha performanslı çalışacak. Bu işlemler sırasında eğer TempPageFile=True ibaresini görürseniz isimlendirmede yada diskte bir yanlışlık yada terslik oluşmuştur ve sistemde yavaşlamalar oluşabilir. Bu değerin FALSE kalmasına dikkat edin.