Czy można odebrać zrzut wątku od Tomcat. Chcę monitorować działające wątki na Tomcat w określonym czasie.Zrzut wątku Tomcat
Uwaga: Robiłem to w logice internetowej, ale nie wiem, jak to zrobić na Tomcat.
Czy można odebrać zrzut wątku od Tomcat. Chcę monitorować działające wątki na Tomcat w określonym czasie.Zrzut wątku Tomcat
Uwaga: Robiłem to w logice internetowej, ale nie wiem, jak to zrobić na Tomcat.
Jeśli używasz Linuksa, możesz wysłać kill -3 [pid swojego tomcat] i zrzuci on wszystkie bieżące wątki w catalina.out.
Proszę wypróbować profiler siatki do profilowania dowolnych aplikacji internetowych.
dodać java melodię do serwera https://code.google.com/p/javamelody/
to daje dużo informacji w tym wątków w czasie wykonywania
Istnieje prosty sposób monitorować tematy tomcat i zrobić zrzut. Zacznij tomcat z folowing opcji Java:
-Dcom.sun.management.jmxremote.port=<some free port>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
Po ponownym uruchomieniu Tomcat można po prostu zacząć JConsole (część JDK) lub VisualVM i utworzyć nowe połączenie JMX do portu wybranej powyżej.
W obu narzędziach można również wykonać zrzut;)
!!! Ale rób to tylko w zamkniętym/zabezpieczonym środowisku - ponieważ nie ma ustawionego uwierzytelniania. !!!
Poniższe kroki powinny pomóc Ci aktualne wątki Java działa i analizować je:
[email protected]:~# sudo -u $TOMCAT_USER $JAVA_HOME/bin/jstack -J-d64 -l $(ps aux | grep '[c]atalina' | awk '{print $2}') > ~/threads.log
Uwaga: Zamień $JAVA_HOME
ścieżką do bieżącego JDK, $TOMCAT_USER
u użytkownika uruchamiającego Tomcat; jeśli przechodzą niewłaściwy użytkownika lub nawet za pomocą korzeni dostaniesz błąd tak:
3047: well-known file is not secure
Chciałbym dodać, że będzie to prawdopodobnie rzeczywiście 'catalina.out' –
dobry dodatek. – Julien
Lepsza odpowiedź tutaj: http://stackoverflow.com/questions/4876274/kill-3-to-get-java-thread-dump – arun