2013-09-02 5 views
19

वहाँ दूर बिलाव से एक धागा डंप लेने के लिए है। मैं एक निश्चित समय पर टॉमकैट पर चल रहे धागे की निगरानी करना चाहता हूं।बिलाव धागा डंप

नोट: मैं वेब तर्क पर ऐसा कर रहा था लेकिन मुझे नहीं पता कि यह टोमकैट पर कैसे किया जा सकता है।

उत्तर

32

आप लिनक्स का उपयोग करते हैं, तो आप एक को मार -3 [अपने बिल्ला की पीआईडी] भेज सकते हैं और यह catalina.out में सभी मौजूदा धागे डंप हो जाएगा।

+7

मैं जोड़ने के लिए है कि यह संभावना है 'catalina.out' –

+0

अच्छा इसके अलावा वास्तव में हो जाएगा चाहते हैं। – Julien

+2

यहां बेहतर उत्तर दें: http://stackoverflow.com/questions/4876274/kill-3-to-get-java-thread- डंप – arun

5

अपने सर्वर https://code.google.com/p/javamelody/

लिए जावा राग जोड़ने यह आप क्रम में धागे सहित जानकारी का एक बहुत कुछ दे

5

बिल्ला धागे की निगरानी के लिए एक आसान तरीका नहीं है और एक डंप करो। folowing जावा विकल्पों के साथ बिल्ला शुरू करें:

-Dcom.sun.management.jmxremote.port=<some free port> 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 

बाद बिल्ला पुनरारंभ आप बस (JDK का हिस्सा) या VisualVM JConsole शुरू करने और बंदरगाह आप ऊपर को चुना है के लिए एक नया JMX कनेक्शन बना सकते हैं।
दोनों टूल्स में आपके पास डंप लेने का विकल्प भी है;)

!!! लेकिन यह केवल बंद/सुरक्षित वातावरण में करें - क्योंकि कोई प्रमाणीकरण सेट नहीं है। !!!

0

निम्न चरण वर्तमान जावा धागे से चलाने के लिए और उन्हें विश्लेषण की मदद करनी चाहिए:

  1. डाउनलोड आईबीएम JCA जो IBM Thread & Dump Monitor Analyzer
  2. से एक अच्छा धागा डंप विश्लेषक बिलाव धागे डंप पाने के लिए निम्नलिखित निष्पादित है : [email protected]:~# sudo -u $TOMCAT_USER $JAVA_HOME/bin/jstack -J-d64 -l $(ps aux | grep '[c]atalina' | awk '{print $2}') > ~/threads.log
  3. ओपन धागे IBM Thread & Dump Monitor Analyzer

साथ डंप नोट:$JAVA_HOME को अपने वर्तमान जेडीके, $TOMCAT_USER पर अपने उपयोगकर्ता के साथ टॉमकैट चलाने वाले उपयोगकर्ता के साथ बदलें; यदि आप गलत उपयोगकर्ता पारित या यहाँ तक कि जड़ का उपयोग कर आप इस तरह एक त्रुटि प्राप्त होगी:

3047: well-known file is not secure 
संबंधित मुद्दे