July 21, 2008

Eclipse ve Java Hafıza Arttırımı ile Performans Kazanımı

Eclipse kullanıyorsanız muhtemelen yavaşlık problemleri yaşıyorsunuzdur. Bu problemlerin aslında basit bir çözümü var. Aslında bu çözüm bütün Java uygulamaları için geçerlidir. Bütün Java uygulamalarını hafıza kullanımı sınırlarını ayarlayabilirsiniz.

Bütün Java uygulamalarınızı çalıştırırken -Xms40m ile minimum hafıza kullanım sınırını 40 megabyte'a; -Xmx512m ile maximum hafiza kullanımını 512 megabyte'a sınırlayabilirsiniz. Örneğin:

java App -Xms40m -Xmx512m

Bu ayarlar Eclipse içinde geçerlidir. Ayarları değiştirmek için eclipse.exe 'inin bulunduğu dizinde bulunan eclipse.ini dosyasını bir metin düzenleyici ile açın. Zaten ayarları orada göreceksiniz. Bu değerleri hafızanıza göre ayarlayabilirsiniz. Örneğin -Xms756m -Xmx756m şeklinde ayarlayabilirsiniz.

Fakat eğer bu değerleri Java'nın kabul edemeyeceği kadar büyük verirseniz Eclipse hata verip başlamayacaktır. Benim deneyimlerim 1000mb'yi geçince hata vereceği yönünde. Bu kısıt, Java'nın hafıza adresleme kısıtları ile ilgilidir.

Son olarak Xms ile ayarladığınız değeri ilk bakışta düşük bir değere eşitlemenin iyi olacağı düşünebilir. Böylelikle Eclipse ya da herhangi bir Java uygulaması Xms ile ayarladığınız hafıza ile başlar ve gerektikçe hafıza kullanımı arttırır. Yani 40mb ile başlayıp hafıza gerektikçe Xmx ile ayarladığınız değere kadar hafıza arttırımı yapacaktır. Fakat bu nokta önemli olan, bu hafıza arttırımı işlemi çok zahmetli ve dolayısıyla performans düşürücü bir işlemdir. Yani kısacası Xms değerini küçük vermeyin, hatta Xmx ile aynı değeri verin ki hafıza arttırımı işlemine gerek kalmasın.

1 comment:

Selman said...

Teşekkürler dostum