I dwukrotnie sprawdzane następujące:Jak mogę monitorować Tomcat za pomocą jvisualvm, wyświetlając visualgc?
- Używam jvisualvm na tym samym polu, gdzie Tomcat jest uruchomiony.
- To jest Java 6u19.
- Usługa Mój Tomcat działa jako ten sam użytkownik, na którym jestem zalogowany jako.
- Usługa Mój Tomcat używa dokładnie tego samego katalogu JVM, z którego korzystam jvisualvm.
- Tomcat ma włączoną obsługę JMX na określonym porcie, ale nie sądzę, że to mi pomoże.
z tym wszystkim, zrobić zobaczyć mój proces Tomcat w „lokalny” listy dla jvisualvm. Jest to pokazane jako "< Nieznana aplikacja> (pid 5644)". Jeśli dwukrotnie go kliknę, na każdej karcie pojawi się komunikat "Nieobsługiwany dla tej maszyny JVM". Jednak VisualVM jest pokazany w "Local" i wszystkie karty działają na niego, oczywiście przy użyciu tej samej instancji JVM. Nie ma oczywistego sposobu dodania połączenia JMX do instancji "< Nieznana aplikacja>".
Widzę wystąpienie JMX Tomcat w "Local" jako "localhost: (mój numer portu)", a to działa, ale karta Visual GC pokazuje "Nie obsługiwane dla tej maszyny JVM", co zakładam, że Visual GC nie działa poprzez JMX.
Co robię źle? Próbowałem już zaczynać od jstatd. To nie miało znaczenia. Kiedy zaczynam jstatd, wtedy visualvm widzi "lokalny" "jstatd", ale kiedy dwukrotnie go klikam, wydaje się, że monitoruje on ten proces jstatd, a nie inny proces Java.
UWAGA: Postanowiłem uruchomić Tomcat nie jako usługę, ale bezpośrednio w oknie CMD i Viola, teraz visualvm działa idealnie. Pomyślałem, że spróbuję tego, gdy uruchomię "jps" i otrzymam skargę "informacje o procesie niedostępne" i Google na nią i znalazłem kogoś, kto powiedział, że dostali to, gdy uruchomili jakąkolwiek aplikację Java jako usługę. Pomaga to w testowaniu, ale nie pomaga dowiedzieć się, jak monitorować system produkcyjny.
to Tomcat uruchomiony jako usługa systemu Windows pod owijki Tanuki w systemie Windows Server 2003.