2012-03-05 12 views
5

बनाए गए एचआरओफ़ के बाद जेवीएम को कैसे मारना है, मैं OutOfMemoryError को पकड़ते समय अपने जावा से बाहर निकलना चाहता हूं, मैं -XX:+HeapDumpOnOutOfMemoryError का उपयोग hprof फ़ाइल को डंप करने के लिए कर रहा हूं।
मैं kill -9 <pid> का उपयोग नहीं कर सकता क्योंकि hprof फ़ाइल को डंप करते समय JVM को ऊपर उठने की आवश्यकता है, क्या hprof फ़ाइल के बाद JVM को रोकने का कोई तरीका है?

स्पष्ट है मैं सूर्य की JVM संस्करण का उपयोग कर रहा हूँ 6.OutOfMemoryError -

उत्तर

4

This page मतलब है आप गठजोड़ कर सकते हैं कि "से पहले -XX:+HeapDumpOnOutOfMemoryError और -XX:OnOutOfMemoryError="kill -9 %p"

मुमकिन है, हीप डंप बनाई गई है लगता है। .. "आदेश चलाया जाता है। (इसे जांचने के लिए कुछ फेंकना आसान होना चाहिए।)

+1

मैंने इन दो जेवीएम तर्कों को संयुक्त किया, आपकी धारणा पूरी तरह से सही नहीं है, मेरे मामले में ढेर डंप निर्माण "ऑन ..." कमांड के समानांतर है, डंप पूरी तरह से बनाया जाने से पहले मार डाला गया, डंप निर्माण के बीच में जेवीएम की मौत 'hprof' दूषित हो गई। –

+0

ठीक है, तो ओरेकल पेज भ्रामक है। लेकिन वांछित व्यवहार पाने के लिए आपको अभी भी उस व्यवहार के साथ काम करने में सक्षम होना चाहिए। –

+0

आपको '-XX: ऑनऑटऑफमेमरी एरर' में कॉलन याद आती है – mighq

संबंधित मुद्दे