मैं एक multithread कार्यक्रम के साथ कुछ काम करते हैं। मैं जेकोनसोल में देखता हूं कि मेरे पास अभी भी 2 गैर डिमन थ्रेड हैं लेकिन मुझे पता नहीं चल सकता कि वास्तव में (थ्रेड की कुल संख्या 30 से अधिक है)। विजुअल वीएम ऐसी जानकारी प्रदान नहीं करता है।जावा थ्रेड निगरानी। गैर डेमॉन लाइव थ्रेड कैसे खोजें?
12
A
उत्तर
20
रन:
$ jstack PID | grep tid= | grep -v daemon
यह धागा नाम के साथ एक दिया जावा पीआईडी के सभी धागा, फिल्टर लाइनों डंप और गैर डेमॉन लोगों को फ़िल्टर कर देगा।
केवल -v
को डिमन थ्रेड मुद्रित करने के लिए निकालें।
2
VisualVM में थ्रेड डंप लें। डेमॉन थ्रेड्स में थ्रेड नाम के बगल में 'daemon
' शब्द होता है।
"Default RequestProcessor" daemon prio=1 tid=101e58000 nid=0x124d86000 runnable [124d85000]
+0
में जेस्टैक पा सकते हैं, मैं इसे linux पर visualvm 1.33 में नहीं देख पा रहा हूं। आप किस विंडो का उल्लेख करते हैं? –
दुर्भाग्य से जीसी धागे की तरह कुछ अजीब धागे छोड़ देता है, लेकिन पर्याप्त बंद हो जाता है! :) – rogerdpack
भावी पाठकों के लिए एक युक्ति: आप अपने जेडीके के बिन फ़ोल्डर –