Windows ve Bellek Kullanımı

Windows 95, 98 ya da Millenium kullanıp da çökme ve kilitlenmelerden şikayetçi olan çok. Bu şikayetlerin temelinde ise genelde işletim sisteminin bellek yönetimi ile ilgili sorunlar yatıyor. Alınacak bir kaç önlem ve bir iki ufak ayar ile bellek kaynaklı problemleri biraz olsun azaltmak mümkün. Daha önce sitenin mesaj panolarında yayınladığım ve hayli ilgi çeken bu çalışmayı sizler için genişleterek tekrar derledim, işinize yarayacağını umuyorum.
Fiziksel Belleği Gözaltına Alın

Öncelikle, sisteminizde ne kadar boş fiziksel bellek olduğunu göz önünde tutun. “Fiziksel bellek” diyerek, sisteminizde takılı RAM bellek miktarını ifade ediyoruz. Bildiğiniz gibi Windows, fiziksel belleğin yanı sıra bir de takas dosyası kullanıyor ve bu sayede belli bir disk alanını bellek gibi gösterebiliyor, ama bizi ilgilendiren şey fiziksel bellek.

Bellek üzerine ince ayarlar yapmadan önce ufak bir yardımcıya gereksinim duyacağız. DarkHardware Download sayfasından indireceğiniz RAMpage isimli ufak ve ücretsiz bir program ile sisteminizdeki bellek miktarını devamlı göz önünde tutabilirsiniz. Bu programcık sisteminizdeki boş fiziksel ve sanal bellek miktarlarını her an görebilmenizi sağlayacak, bunu yaparken de sistem kaynaklarından çok az bir miktar kullanacaktır. Benzer işleri yapan başka programcıklar da var, yalnız MemTurbo gibi kimi gösterişli uygulamaların kazandırdıklarından fazla belleği kendilerinin kullandığına dikkat edin.

Şimdi, Rampage ile sisteminizdeki fiziksel bellek miktarını görüntülediniz. Sisteminiz çalıştığında, daha siz daha hiç bir şeye dokunmadan ne kadar boş bellek kaldığına dikkat edin. Ve biraz bekleyin. Eğer siz hiç bir uygulama çalıştırmadığınız halde boş bellek miktarı yavaş yavaş azalıyorsa, ciddi bir sorununuz var demektir. Bu olaya Bellek Sızıntısı (Memory Leak) denir, o esnada sistemde çalışmakta olan bir sürücü ya da programın devamlı yeni bellek alanı kullandığını ama kullandığı alanı daha sonra sisteme geri vermediğini anlatır. Bu yüzden sistemdeki fiziksel bellek kısa bir süre sonra dolar, sistem takas dosyası yoluyla sanal belleğe yüklenmeye başlar ve eninde sonunda çöker. Çoğu kullanıcının “Sistemimi açtıktan belli bir süre sonra bilgisayar çok yavaşlıyor ve çöküyor” şeklindeki şikayetinin nedeni de işte budur.

Sisteminizin belleği sızdırıyorsa, biraz uğraşacaksınız. Arka planda çalışıyor olan uygulamaları tek tek kapayarak, hangisinin sürekli bellek tükettiğini keşfetmeli, mümkünse sistemdeki donanımların sürücülerini yeniden kurmalısınız. Çok deneyimli bir kullanıcı değilseniz Windows’u baştan kurmak daha kolay olacaktır, ama sorun bir sürücüden kaynaklanıyorsa, aynı sürücüyü yüklediğinizde tekrarlayabilir.

Rampage, Memturbo, WinMem gibi uygulamaların bellek boşaltarak bu kaybedilen alanı geri alma özellikleri de var, ama sorunun tam anlamı ile çözümü değil.

Bazı kilitlenmeler de programların bir anda anlamsızca bellek tüketmeleri nedeni ile kaynaklanır. Özellikle Netscape 4.xx ailesini kullanıyorsanız, bu konuda oldukça deneyimlisinizdir. Bazen bir web sitesine girdiğinizde sistem donar kalır, diskiniz harıl harıl çalışmaya başlar. Sisteminizde Rampage gibi bir uygulama yüklüyse, göstergesinden o anda boş belleğin tamamiyle bittiğini görürsünüz. Şanslıysanız, Netscape az sonra çöker ve sistem normale döner, şanssızsanız Netscape yine çöker ama sistem normale dönmez!

Demek istediğim, bellek yönetimi konusunda biraz başarısız olan Windows 9x ailesini kullanıyorsanız, sistemdeki boş bellek miktarına arada sırada göz atmanız, “niye çöktü bu sistem?” sorusuna yanıt bulmanız konusunda çok önemli ipuçları sağlayabilir. Aslında Windows 2000 ve Windows XP kullanıcılarının da sistemdeki boş bellek miktarını takip etmeleri yararlarına.

VCACHE Ayarları

Windows sistemlerinde boş belleğin çok büyük bir kısmı disk ön belleği olarak kullanılır. Bu sisteme VCACHE diyoruz.

Belleğin aslan payını alıp disk ön belleği olarak kullananan VCACHE, çok kullanan bilgileri diskte tutarak performansı arttırır. Teoride de uygulamalar belleğe gereksinim duydukça, VCACHE kendi işgal ettiği alanı küçülterek uygulamalara bellek sunar. Ama pratikte tabii ki bu sistem düzgün çalışmaz.VCACHE işgal ettiği belleği geri vermekte nazlanır, uygulamalar da bellek istemeyi beceremez. Windows’un en sorunlu bölümlerinden biri de bellek yönetimi olunca, iş çıkmaza girer.

Bunu biraz olsun çözmenin yolu, VCACHE için ayrılan belleği sınırlamak. Bunu yapmak için WINDOWS dizininin içindeki SYSTEM.INI dosyasını bulup açıyoruz. Oradaki [VCACHE] ifadesini bulup, altına

[vcache]
MaxFileCache=10240
MinFileCache=6144

gibi iki satır ekliyoruz. MaxFileCache, KB cinsinden maksimum, MinFileCache ise minimum ön belleği belirliyor.

Ben 256MB bellekli sistemimde, ara belleğe fazla bellek vermeyi sevmediğimden, yukarıdaki ayarları kullanıyorum. Yani minimum 6MB, maksimum 10MB ara bellek var.

32MB bellek kullanan arkadaşlara tavsiyem:

MaxFileCache=2048
MinFileCache=1024

64MB kullanan arkadaşlara tavsiyem:

MaxFileCache=4096
MinFileCache=2048

128MB ve yukarısı kullanan arkadaşlara tavsiyem ise en az benim kullandığım:

MaxFileCache=10240
MinFileCache=6144

ayarlarını uygulamalarıdır. Ara belleğe vereceğiniz daha fazla bellek, ön belleğin verimini arttırır tabii ki. Çok fazla bellek kullanan uygulamalarınız yok, ama çok belleğiniz varsa, bu değerleri arttırabilirsiniz.

Bu işin de bir püf noktası var. Sisteminde 256MB ve daha yukarısı bellek olup, çok bellek tüketen uygulamalar kullanmayan arkadaşlar, VCACHE ön belleğini böyle sınırladıkları zaman, sistemin eskisine göre daha yavaş cevap verdiğini hissedebilirler. Bu normal, çünkü eskiden VCACHE belki 32MB, hatta 40MB alan kullanırken, biz şimdi bu alanı kısıtlamış oluyoruz. Eğer sisteminizde bolca bellek var, uygulamalarınız da çok fazla bellek tüketen şeyler değilse, bu ince ayarlar ile oynamanıza pek gerek yok denebilir.

Windows 9x Ailesi ve 512MB Bellek Sorunu

Bellek fiyatları inanılmaz düştü ve eskiden ancak hayalini kurabildiğimiz 512MB ya da 1GB gibi bellek miktarlarına artık sahip olabiliyoruz. Fakat Windows 95,98 ya da Millenium yüklü bir bilgisayara 512MB ya da daha fazla bellek takacaksanız, çok önemli bir sorun var. Eğer 512MB’dan fazla bellek taktığınız Windows sistemlerinde uygulamalar “Yeterli Bellek Yok” mesajı veriyorsa, az önce anlattığımız şekilde VCACHE belleğini sınırlayın! Çok detaya girmeden kısaca açıklamak gerekirse, Windows 9x serisindeki ilginç bir hata yüzünden 512MB fazlasında VCACHE şaşırıyor ve var olan bütün belleği kendine bağlıyor. Ortada boş bellek kalmayınca da belki 1GB bellekli sisteminizde uygulamalar “bellek yok” diye şikayet ediyor. Çözüm biraz önce bahsettiğimiz şekilde VCACHE’i dizginlemek ve kullanabileceği bellek için bir üst sınır belirtmek.

Takas Dosyası Konusunda Tutucu Olun!

Benim çok memnun kaldığım ikinci bir ipucu ise Takas Dosyası (Swap File) ile ilgili. Windows ailesi biraz kendine özgü bir işletim sistemidir. Sisteminizde 1GB bellek de olsa, sistemi açar açmaz sistem monitörüne girip de takas dosyası kullanımına baktığınızda, garip bir şekilde sistem açılır açılmaz takas dosyası kullanmaya başladığını görür ve bu anlamsızlığa kızarsınız. Windows içinden takas dosyasını tümüyle devre dışı bırakma şansınız var, ama bu bazı durumlarda sorun yaratabilir. Takas dosyasını tümüyle devre dışı bırakmadan, sistemin sadece fiziksel bellek bittiğinde takas dosyasına ulaşmasını sağlamanın bir yolu var.

WINDOWS dizini altındaki SYSTEM.INI dosyasında [386Enh] diye bir bölüm göreceksiniz. İşte o bölümün altına

ConservativeSwapfileUsage=1

Satırını ekleyin. Bundan sonra göreceksiniz ki Windows, sadece gerektiği yerde, yani boş fiziksel bellek tükendiğinde Swap File’ı kullanmaya başlayacak.

Windows 2000 İçin Bir Kaç Ayar

Az önce bahsettiğim ayarlar Windows 9x ailesi, yani Windows 95, 98 ve ME içindi. Windows 2000 kullanıcıları için de yapılabilecek bir iki ince ayar var. Ama bu ayarlar Win9x’dekilere göre daha teknik ayarlar ve bu noktaları karıştırırken sisteminizi sakatlamanız da olası. Windows 2000’in bellek yönetim sisteminin de 9x ailesinden kat kat iyi olduğunu düşünürsek, aslında Windows 2000’de bellek ayarlarını çok kurcalamanıza gerek olmadığını düşünebiliriz.

Bu uyarıları yaptıktan sonra, yine de bir şeyleri değiştirmeye niyetli arkadaşlar için bilgiler verelim. Windows 2000’de bellek ile ilgili ayarlar Registry’nin Hot Key Local Machine kısmında [HKLM/System/CurrentControlSet/Control/SessionManager/Memory Management] başlığı altında bulunur.

Burada bulacağınız ayarlardan birisi DisableExecutivePaging satırı. Bu değişken işletim sisteminin devamlı kullandığı temel dosyaların, gerekirse fiziksel bellekten takas dosyasına aktarılıp aktarılmayacağını belirler. Bu değişkenin değerini 1 ya da 0 yapabilirsiniz. 1 yaparsanız, sistem bu temel dosyaları devamlı olarak fiziksel bellekte tutar ve performansta olumlu artış sağlanır. Sisteminizde 128MB’dan fazla bellek olmadıkça bu ayarı 1 durumuna getirmeniz önerilmiyor.

Başka bir ayarı LargeSystemCache satırından yapabiliyoruz. İsminden de anlayacağınız gibi bu ayar, sisteminizdeki belleğin neredeyse tamamının ön bellek olarak kullanılmasını sağlıyor. Bu, kişisel bilgisayarlarda kullanılması pek anlamlı değil, ama sunucu sistemlerde ise çok önemli ve gerekli bir ayar. Zaten bu yüzden de Windows 2000’in Server sürümünde bu ayar otomatikman aktif olarak geliyor.

Aynı bölümdeki bir diğer ayar IOPageLockLimit satırından yapılıyor ve yine daha çok sunucu sistemler için gerekli bir ayar. Sistemin dosya erişim performansını etkileyen bu ayarın değeri byte cinsinden giriliyor ve varsayılan değer 524288 byte, yani 512KB.

Öneriler

Biz kullanıcılar bilgisayarlarımızı hızlandırmak için hızlı işlemciler satın almaya bayılırız, ama yetersiz belleğe mahkum edilmiş hızlı bir işlemcinin bize getirisi tartışmalıdır. Hazır bellek fiyatları düşmüşken, eğer mümkünse mutlaka sisteminize bellek eklemenizi öneriyorum. Eğer düşük bellek ile çalışıyorsanız, yaşadığınız bir çok sorun, sisteminize eklediğiniz bellekle sona erecektir.

“Bellek arttırın” diyorum ama Pentium işlemcili ve TX yonga setli anakartlara sahip arkadaşlara kötü bir haberim var. TX yonga seti 64MB’dan fazla belleği cache ile adresleyemiyor. Yani TX yongasetli bir anakarta 64MB’dan fazla bellek takabilirsiniz, ama bu durumda sisteminiz sanki Level 2 cache yokmuş gibi çalışacak ve işlem gücü bakımından büyük performans kaybı olacaktır.

Her neyse, genele dönersek, belleğinizi bol tutun, ama ne kadar çok belleğiniz olursa olsun, sisteminizin bellek kullanımını da kontrol altında tutmayı ihmal etmeyin. Unutmayın ki bellek sızıntısı yapan bir uygulama, 1GB belleği bile er geç bitirecek ve sistemin çökmesine neden olacaktır.

Belleğiniz az ve arttırma olanağınız yoksa, tasarruf tedbirleri alın. VCACHE miktarını bahsettiğimiz şekilde sınırlayın, sistem açılırken kendini otomatikman yükleyen uygulamaların da otomatik yüklenmelerini önleyin. Bu kendi kendine çalışan programların bir kısmını Başlat menüsündeki Programlar klasöründeki Başlangıç klasöründe bulabilirsiniz. Bir kısmı ise registry’de [HLKMSOFTWAREMICROSOFTWINDOWSCURRENTVERSIONRUN] bölümünde bulunur, ama dikkat, sistem için gerekli bir şeyleri de silmeyin arada.

Windows 9x ailesinin bellek yönetiminde çok başarılı olmadıklarından bahsettik. İşte bu yüzden, eğer 3D Studio MAX gibi bellek canavarı 3D uygulamaları kullanıyorsanız, ya da sisteminizde aynı anda çok sayıda uygulama çalışıyorsa, Win9x ailesinden Windows 2000 ya da XP’ye terfi edin. Zaten Windows 9x ailesini kullanırken, boş belleğiniz yeterli bile olsa arada sırada alacağınız “Sistem Kaynakları Yetersiz” mesajının da çözümü Windows 2000’de yatıyor. Çoğu profesyonel uygulamanın “ben sadece Windows NT ya da 2000 ile çalışırım arkadaş” diye ısrar etmesi boşuna değil.
belgesi-242

Belgeci , 2280 belge yazmış

Cevap Gönderin