JVM: Client Software Logging und Profiling aktivieren

martin0815100

Neues Mitglied
Hi,

wir haben ein Performance Problem mit einer Software auf dessen Quellcode wir nur indirekt Zugriff haben.

Es ist nun so, dass ein Client Programm in einer eigenen JVM unter anderem mit einer Server Komponente dieses Programms (in einer anderen JVM) kommuniziert.

Manchmal passiert es, dass die Oberfläche eingefroren wird wenn der Benutzer eine Aktion machen will. Zu diesem Zeitpunkt ist aber noch ein Thread aktiv der ständig den Server anpingt und prüft ob der da ist. Hier scheint alles in Ordnung.

Nach mehreren Minuten "fängt" sich der Client wieder und man kann normal weiterarbeiten.

Gibt es eine Möglichkeit die JVM mit bestimmten Parametern zu starten um ein Logging/Profiling zu aktivieren?

Ein Problem des Heaps scheint es nicht zu sein.
 
Moin,

das die Oberfläche einfriert, liegt oftmals daran das Event Dispatch Thread (https://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html) lahm gelegt wird!
Da wird es u. U. böse wenn ihr keinen Code-Zugriff habt ...

In der Java-Konsole sind Loglevel einstellbar (https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/console_trace_log.html), aber ob Euch das was bringt ... ?

Hier einige Links zum Thema "Profiling" und den kostenlosen Tools der JVM hierfür:
https://www.infoq.com/articles/java-profiling-with-open-source
http://www.angelikalanger.com/Articles/EffectiveJava/23.ProfilingTools/23.ProfilingTools.html
http://docs.oracle.com/javase/7/docs/technotes/guides/visualvm/profiler.html
http://www.fh-wedel.de/~si/seminare/ws02/Ausarbeitung/9.perftools/perftool3.htm
"Einstellen" kann/braucht man das nicht! Man hängt sich ggf. einfach an den laufenden Prozeß!

Hoffe, das hilft Euch weiter!

VG Klaus

 

Zurück
Oben