2010-07-16 7 views
6

Ich muss eine JVM per Remote-Profil für CPU-Auslastung, IO-Stats und File Deskriptor/Handler-Anzahl profilieren und dabei sowohl * NIX- als auch Windows-Plattformen unterstützen. Ich habe versucht, die SIGAR-API zu verwenden, die die Plattformen sehr gut mit einer zugrunde liegenden nativen Code-Implementierung abstrahiert, aber Remote-Profiling nicht unterstützt. Gibt es eine alternative API, die das kann? Ist es alternativ möglich, das SIGAR-Framework für das Remote-JVM-Monitoring zu erweitern? Hinweise dazu, wo Sie nachsehen können, wären hilfreich. Danke im Voraus!Remoteprofiling einer JVM

Antwort

2

Afaik kann die JVM in der Regel so konfiguriert werden, Remote-Profilierung ermöglichen.

Eclipse TPTP Profilierung und sogar schön Charting-Fähigkeiten, erwähnt die Vernetzung sie in ihrem Data Collection Subsystem

Die JVisualVM, mit dem JDK ausgeliefert, hat auch einen Remote-Abschnitt.

+0

TPTP wird nicht mehr gepflegt. = ( – Jolta

1

NetBeans profiler bietet alle Arten von Profiling einschließlich Remote-Sitzungen. Siehe diese Seite von der Dokumentation Remote-Debugging zu starten:

Attaching Profiler to Local or Remote JVM

+0

Mit diesem Dienstprogramm kann ich die angegebenen Parameter nicht profilieren. Insbesondere bietet es mir nicht die Möglichkeit, io stats oder fd count zu messen. –

+0

Mein Einwand gegen den NetBeans-Profiler ist, dass ich einen Remote-Prozess (Methoden-Trace) profile und es eine gute Arbeit leistet, aber ich kann das Profil nicht in einer Datei speichern, damit es später oder von anderen untersucht werden kann. Wirklich Frustration und eklatante Unterlassung. Es mag einen Weg geben, aber ich habe alles überprüft, was ich kann. – clearlight

1

Sie können versuchen JProfiler. Obwohl es bezahlt ist, können Sie die Testversion zuerst ausprobieren

0

Visual VM ist eines der besten Profile und ist Open Source. Ich benutze es für JVM Profiling und es kommt mit verschiedenen Plugins/Erweiterungen, um verschiedene Berichte zu sehen.

Ich habe auch versucht, mit WebSphere/Tomcat/Liferay und Glassfish Servern zu integrieren. Tatsächlich würde jede JVM mit der aktivierten JMX-Fernverwaltungsfunktion von der Visual VM identifiziert werden.

Standardmäßig identifiziert Visual VM die Sun JVM, aber z. Es konnte die IBM JVM nicht erkennen. Für andere Nicht-Sun-JVMs müssen Sie die JMX-Remoteverwaltungsfunktion aktivieren, um mithilfe von Visual VM eine Verbindung zur JVM herzustellen.

+0

Bitte geben Sie in Ihren Beiträgen keine "Signaturen" an. Ihre Benutzerbox wird automatisch für Sie angezeigt. –