VisualVM ile Heap Dump Thread Dump ve CPU Sampler Nasıl Alınır?

VisualVM ile Heap Dump Thread Dump ve CPU Sampler Nasıl Alınır?

1106 Görüntülenme
0
0

VisualVM, Java uygulamalarını izlemek, analiz etmek ve hata ayıklamak için kullanılan ücretsiz ve açık kaynaklı bir araçtır. Geliştiricilere Java uygulamalarının performansını, bellek kullanımını, thread aktivitelerini ve daha fazlasını takip etme imkanı sunar. VisualVM, çeşitli amaçlar için kullanılabilecek çok yönlü bir araçtır. Özellikle CPU kullanımını izlemek ve performans darboğazlarını belirlemek, bellek kullanımını takip etmek ve bellek sızıntıları gibi sorunları tespit etmek için kullanışlıdır. Ayrıca, uygulamadaki thread'lerin durumunu ve işlem sürelerini gözlemleyebilir ve potansiyel deadlock'ları veya performans sorunlarını tespit edebilirsiniz. Ayrıca hata
ayıklama ve profil oluşturma işlemlerinde de yardımcı olabilir. VisualVM’den aşağıdaki konuda çıktılar alınabilir. CPU ve bellek kullanımı grafikleri: Uygulamanın CPU ve bellek kullanımını grafiksel olarak temsil eder. Thread durumu: Uygulamadaki thread'lerin durumunu ve işlem sürelerini gösterir. Thread tabanlı sorunları tespit etmek için önemlidir. Heap Dump: Uygulamanın bellek durumunu içeren bir görüntüyü almanıza olanak tanır. Bu, bellek tüketimi veya bellek sızıntısı gibi sorunları tespit etmek için kullanışlıdır. Bu özellikleri sayesinde VisualVM, Java geliştiricilerinin uygulamalarını daha verimli ve hatasız bir şekilde optimize etmelerine yardımcı olur. Visualvm’a kullanılan program files – Java - jdk – bin klasörü altından ulaşılabilirken ayrıca internetten tool olarakta temin edilebilir.

VisualVm ile Tomcat Dump Nasıl Alınır?

Tomcat yüklü olan server üzerinde aşağıdaki şekilde Tomcatw altındaki java options parametrelerinde mevcut parametrelerin sonuna (varolan parametreleri silmeden) aşağıdaki 4 satır parametreyi manuel yazarak (kopyala yapıştır yapmadan) ekleyip Tomcat servisi restart edilmelidir. Kopyala yapıştır ile parametreler eklendiğinde Tomcat boşluk algıladığı için Tomcat servisi start olamayabilmektedir. 

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=8484
-Dcom.sun.management.jmxremote.ssl=false

Bu işlem ardından Tomcat servisi hizmetler altından yeniden başlatılmalıdır.

Program Files altındaki Java – Jdk – Bin klasörü altından Visualvm çalıştırılarak tomcat parametrelerine eklediğimiz jmxport, Jmx Connection alanında Tomcat’in yüklü olduğu serverda kontrol yapılacaksa localhost:port şeklinde veya daha server IP:8484 şeklinde tanımlanabilir.

Tomcat’e eklediğimiz port üzerinden Jmx bağlantısı sağladığımızda Visualvm’de eklediğimiz port ile izlediğimiz Tomcat’in doğru olup olmadığını teyit edebileceğimiz detayları Overview’da inceleyebilirsiniz.

İkinci bir teyit olarak Windows hizmetler altındaki ayakta Tomcat’in PID bilgisi ile Visualvm’in jmxport için oluşturduğu PID bilgisi karşılaştırılabilir. Ekran görüntülerinde görüleceği üzere tomcat servisi ile visualvm’de 4640 PID bilgisinin eşleşildiği gözükmektedir. Bu ID dinamik olup kontrol ettiğiniz anda farklı bir değer olabilir.

Heap Dump – Thread Dump – CPU Sampler Nasıl Alınır?

Heap Dump

VisualVm üzerinde monitor tabı altında Heap için CPU yükünü çizen grafikler görüldüğünde sağ üst alanda gözüken Heap Dump gözüken buton tıklanarak sol alanda eklediğimiz localhost:8484 veya IP:8484 jmx bağlantısının altına Heapdump için satır oluşmaktadır. Bu alanda save as seçeneği ile dump dosyası kaydedilebilir. Tomcat kullanıcısı (service) admin yetkisinde olmalıdır. Bunun için sunucuda domain admin yetkisinde bir kullanıcı, Tomcat servisi F9 menü Properties ile Log On alanında belirlenmelidir. Bu durumda Head Dump alınırken uyarı ile karşılaşılabilir..

Thread Dump

VisualVm üzerinde Threads tabı altında Thread için grafikler görüldüğünde sağ üst alanda gözüken Thread Dump gözüken buton tıklanarak sol alanda eklediğimiz localhost:8484 veya IP:8484 jmx bağlantısının altına threaddump için satır oluşmaktadır. Bu alanda save as seçeneği ile dump dosyası kaydedilebilir.

CPU Sampler

VisualVm üzerinde Sampler tabı altında CPU alanı tıklandığında grafikler görüldüğünde alt alandaki Snapshot butonuna tıklanarak sol alanda eklediğimiz localhost:8484 veya IP:8484 jmx bağlantısının altına snapshot için satır oluşmaktadır. Bu alanda save as seçeneği ile dump dosyası kaydedilebilir. 

 

Yorum Yap

Kategoriler