2011-06-09 20 views
9

मैं उबंटू 10.10 पर टॉमकैट 6.0.31 चला रहा हूं और टेज सन जेडीके (जावा -6-सूरज) का उपयोग कर रहा हूं। हालांकि जब मैं jps (जावा वर्चुअल मशीन प्रोसेस स्टेटस टूल) चलाता हूं तो टॉमकैट अपनी प्रक्रिया चला रहा है। एकमात्र आउटपुट जो मैं देखता हूं वह जेपीएस प्रक्रिया के लिए पिड है। टॉमकैट प्रक्रिया क्यों नहीं दिखाई देगी?जेपीएस टोमकैट प्रक्रिया नहीं दिखा रहा है

+1

क्या आपने रूट के रूप में jps चलाने की कोशिश की है? शायद यह एक अनुमति मुद्दा है? – Pace

+0

नए जेवीएम के लिए, @ पेस की टिप्पणी सही उत्तर पर इंगित करती है: 'jps -l'' sudo jps -l' करता है की तुलना में एक अलग प्रक्रिया सूची दिखाता है। जब यह रूट के रूप में चल रहा है तो मुझे टॉमकैट देखने के लिए 'सुडो' का उपयोग करना होगा। – Lambart

उत्तर

14

आप शायद Bug 7009828 में चल रहे हैं:

जावा 6 अद्यतन 23 और जावा 6 अद्यतन 24 में, जावा java.io.tmpdir संपत्ति जब जहां कुछ फ़ाइलों को jps, jconsole और jvisulavm के लिए की जरूरत थी स्थानीय रूप से पता लगाने के लिए जगह तय करने पर विचार जेवीएम चल रहा है। इसका अर्थ यह है कि प्रत्येक जेवीएम उदाहरण जिसमें इस सिस्टम प्रॉपर्टी को डिफ़ॉल्ट (/tmp) के अलावा किसी अन्य चीज़ के लिए परिभाषित किया गया था, इन उपकरणों के लिए अदृश्य होगा।

इस संपत्ति को अपने इंस्टॉलेशन temp फ़ोल्डर में सेट करने के लिए विशेष रूप से डिफ़ॉल्ट डिफ़ॉल्ट में टोमकैट इंस्टॉलेशन।

तो: या तो जावा 6 अद्यतन 25 या बाद में (जहां बग ठीक हो गई है) करने के लिए उन्नयन या -J-Djava.io.tmpdir=/path-to-tomcat-installation/temp साथ jps शुरू करते हैं।

2

क्या यह /tmp/hsperfdata_$USER निर्देशिकाओं के कारण आपके सिस्टम पर चल रहे क्रॉन जॉब द्वारा हटाया जा सकता है? अधिक जानकारी के लिए http://www.semicomplete.com/blog/geekery/jps-shows-nothing-useful.html देखें।

+0

यह मेरे लिए भी समस्या प्रतीत होता है .. लंबे समय तक चलने वाली प्रक्रियाएं 'जेपीएस' आउटपुट से गायब हो जाती हैं, और क्रॉन नौकरी अपराधी प्रतीत होती है। उन प्रक्रिया फ़ाइलों को '/ tmp' निर्देशिका में रखने का निर्णय लेने पर जावा डिज़ाइनर इस बारे में क्यों नहीं सोचते थे? – ADTC

0

अपने वीएम तर्कों की जांच करें कि क्या -XX:-UsePerfData मौजूद है।

यदि हां, तो यह JVM हटाने, और

0

चैक/hsperfdata_ * निर्देशिका इसलिए की तरह/tmp के मालिकाना हक को पुनः आरंभ:

ls -ld /tmp/hsperfdata_* 

प्रत्येक निर्देशिका उपयोगकर्ता जो कि जावा का मालिक द्वारा स्वामित्व में किया जाएगा प्रक्रिया। यदि आपकी रुचि रखने वाली प्रक्रिया आपके स्वामित्व में नहीं है तो डेटा पहुंच योग्य नहीं होगा। हालांकि, यदि आप jstatd को रूट के रूप में चलाते हैं तो यह सभी डेटा तक पहुंच पाएगा।

sudo jstatd <rest of options...> 
संबंधित मुद्दे