jhat

2009-12-02 3 views
21

में एक बड़ा hprof लोड हो रहा है मेरे पास एक 6.5 जीबी Hprof फ़ाइल है जिसे -XX:-HeapDumpOnOutOfMemoryError विकल्प का उपयोग कर 64-बिट JVM द्वारा डंप किया गया था। मैंने इसे 16 जीबी 64-बिट मशीन पर बैठा है, और इसे जाट में लाने की कोशिश कर रहा हूं, लेकिन यह स्मृति से बाहर चल रहा है। मैंने न्यूनतम सेटिंग्स के लिए jvm args में गुजरने का प्रयास किया है, लेकिन यह किसी भी न्यूनतम को अस्वीकार करता है, और अधिकतम मारने से पहले स्मृति से बाहर निकलता प्रतीत होता है।jhat

ऐसा लगता है कि स्मृति से बाहर चलने वाला एक जेवीएम एक ढेर को इतनी बड़ी डंप करता है कि इसे दो बार जितना रैम वाला बॉक्स पर लोड नहीं किया जा सकता है। क्या यह चलने, या संभवतः विश्लेषण को कम करने के कोई तरीके हैं?

+0

यह भी देखें https://stackoverflow.com/questions/7254017/tool-for-analyzing-large-java-heap-dumps – rogerdpack

उत्तर

18

मैं eclipse memory analyzer पर एक नज़र डालेगा। यह टूल बहुत अच्छा है, और मैंने कई गीग ढेर w/इस टूल को देखा है। टूल के बारे में अच्छी बात यह है कि यह डंप पर इंडेक्स बनाता है, इसलिए यह सब एक बार में स्मृति में नहीं है।

+1

यह काम किया। मैंने वास्तव में कुछ छोटे ढेर डंप के साथ इसे आजमाया और वास्तव में मुझे कोई उपयोगी जानकारी नहीं दी, लेकिन एक बार जब मैं इसे हेपडम्पऑनऑटऑफमेमरी एरर एचप्रोफ के साथ मिला, तो अंततः यह सही समस्या को इंगित करता है। – liam

+0

दुर्भाग्यवश मैट ने अभी भी मेरे लिए बहुत सी रैम का उपयोग किया ["विफलता जावा हीप स्पेस"], http://stackoverflow.com/questions/7254017/tool-for-analyzing-large-java-heap-dumps – rogerdpack

0

आप झट से क्या झंडे गुजर रहे हैं? सुनिश्चित करें कि आप 64-बिट मोड में हैं और आप ढेर आकार को काफी बड़े सेट कर रहे हैं।

13

जाट लॉन्च करने के लिए कमांड के रूप में jhat -J-d64 -J-mx16g myheap.hprof के समतुल्य का उपयोग करें, यानी, यह 16-गीगाबाइट्स के अधिकतम ढेर आकार के साथ 64-बिट मोड में जाट शुरू करेगा।

यदि आपके प्लेटफ़ॉर्म पर JVM 64-बिट-मोड ऑपरेशन पर डिफ़ॉल्ट है, तो -J-d64 विकल्प अनावश्यक होना चाहिए।

4

मुझे 11 जीबी एचप्रोफ फ़ाइल लोड करना पड़ा और ग्रहण स्मृति विश्लेषक के साथ नहीं हो सका। मैं जो कर रहा था वह यादृच्छिक रूप से इंस्टेंस जानकारी को हटाकर एचआरओएफ फाइल के आकार को कम करने के लिए एक प्रोग्राम लिखना था। एक बार जब मैं hprof फ़ाइल का आकार 1 जीबी तक प्राप्त कर लेता हूं, तो मैं इसे ग्रहण स्मृति विश्लेषक के साथ खोल सकता हूं और स्मृति रिसाव के कारण क्या हो सकता है पर एक सुराग प्राप्त कर सकता हूं।

+11

देखभाल उपकरण या विवरण साझा करें कि कैसे एक समान लिखना है? – BeeOnRope