Nicht verwenden JVisualVM profiling für Tomcat7 läuft als Dienst auf Windows7

Ich versuche zu Profil, ein Servlet läuft in Apache Tomcat (7.0.34) als Dienst auf Windows 7 (64 bit) mit JVisualVM (JDK-1.7.0 - 06, 64-bit) lokal ausgeführt.

Zunächst hatte ich das problem das der Tomcat nicht angezeigt in der Liste der lokalen Anwendungen, die aufgrund der unterschiedlichen "java.io.tmp" - Eigenschaft bug/feature, aber um ihn herum gearbeitet, wie angeraten in mehreren posts in diesem forum.

Aber obwohl der Tomcat-Prozess zeigt nun in der Liste der lokalen Anwendungen, die als "Lokale Anwendung", wenn ich öffnen Sie den Prozess gibt es keine tabs für Monitor, Threads, Sampler oder Profil - nur die Registerkarte Übersicht für die JVM-Argumente und-Sytem Eigenschaften sub-Registerkarten zeigen die gefürchtete "nicht unterstützt für diese jvm" - Meldung.

Habe ich doppelt überprüft die folgenden Elemente:

  • dass sowohl Tomcat als auch JVisualVM laufen die gleiche version von Java, indem man die JVM-Eigenschaften in JVisualVM (unter Verwendung einer JMX-Verbindung zum Tomcat)
  • dass sowohl Tomcat als auch JVisualVM habe das gleiche "java.io.tmp" - Pfad, indem man die System-Eigenschaften in der JVisualVM (wieder mithilfe einer JMX-Verbindung zum Tomcat) UND im Blick auf die tatsächlichen TMP/TEMP-Verzeichnis und bestätigen, dass die PID-Dateien existieren beide
  • dass das Dateisystem NTFS ist
  • dass der Windows-Benutzer nicht mit einem Unterstrich im Namen haben (Hinweis: der Benutzer hat eine Periode, in der name, wie wir mit Netzwerk-Benutzernamen in der form "Vorname.lastname", aber ich habe keine Probleme mit der Anzeige andere Java-Anwendungen in JVisualVM, so glaube nicht, dass dies ein Problem ist)
  • dass sowohl Tomcat als auch JVisualVM ausgeführt werden, als die gleichen Windows-Benutzer, indem man die Prozesse im Task-Manager

Ein paar Letzte Punkte:

  • Ich muss Profil das Servlet, so dass die Verwendung von JMX ist nicht ausreichend
  • Ich war in der Lage, um ein Profil auf einem Windows XP-Rechner (Java 7, Tomcat 7 als service), so würde sich ein Windows 7 /64 bit was?

Wenn jemand hatte und gelöst wird dieses Problem offensichtlich die Lösung wäre sehr geschätzt werden. Wäre aber sinnvoll sein, nur wissen, ob andere Menschen sind, läuft die gleiche Konfiguration - Windows 7 64 bit, Java 7 64 bit, Tomcat 7 läuft als Dienst - erfolgreich.

Update: Statt als Dienst ausgeführt wird, lief ich den Tomcat mit der batch-Datei und alle funktionierte perfekt: was gibt es als Dienst ausführen?

  • Nur damit Sie wissen, du bist nicht verrückt, ich habe das gleiche Problem mit anderen servlet-Containern. Ich in der Regel Feuer bis Sysinternals Process Explorer, schauen Sie in die "command line" - Spalte (die default-Win process explorer ist begrenzt auf 255 Zeichen), führen, dass Sie von einer Eingabeaufforderung aus, und befestigen Sie VisualVM.
  • Was Windows-Benutzer ist der Tomcat-Dienst läuft, wie? Das kann den Unterschied machen. Versuchen Sie es mit VisualVM als der exakt gleiche Benutzer den Tomcat-Dienst läuft.
InformationsquelleAutor Mr Anderson | 2013-01-29
Schreibe einen Kommentar