है मैं एक अजीब स्मृति रिसाव का निवारण करें। यह जावा 8 के लिए विशिष्ट है, 7u79 पर नहीं हो रहा है।जावा स्मृति रिसाव - jmap वर्गों प्रदर्शित नहीं करता है लेकिन jstat
मैं जावा कोड के लिए पहुँच नहीं है। मैं ठीक से पता है जो उपयोगकर्ता की कार्यवाही एक रिसाव का कारण बनता है, मुझे पता है रिसाव वर्गों (नहीं ढेर) और हमलावर वर्गों के साथ का पता आसानी से कर रहे हैं के बारे में है + TraceClassLoading + TraceClassUnloading:
[Loaded com.mastercard.mcwallet.sdk.xml.allservices.ShoppingCartRequest$JaxbAccessorF_oAuthToken from __JVM_DefineClass__]
[Loaded com.mastercard.mcwallet.sdk.... thousand similar classes per one user action... ]
इन कक्षाओं को बढ़ाने के लिए लग रहे हैं jstat -class
द्वारा वर्ग काउंटर उत्पादन:
Loaded Bytes Unloaded Bytes Time
14045 26138.8 0 0.0 110.00 << buggy user action
14675 26754.6 0 0.0 110.05
15300 27364.9 0 0.0 110.10
15304 27370.9 0 0.0 110.11
15304 27370.9 0 0.0 110.11
15304 27370.9 0 0.0 110.11
15306 27374.0 0 0.0 110.11
15306 27374.0 0 0.0 110.11
15306 27374.0 0 0.0 110.11
15306 27374.0 0 0.0 110.11 << buggy user action
15930 27982.2 0 0.0 110.18
16553 28589.3 0 0.0 110.23
16553 28589.3 0 0.0 110.23
बात यह है कि इन कक्षाओं में कभी नहीं कचरा-एकत्र metaspace से, कभी नहीं [Unloaded]
हैं और वे jmap -clstats
में दिखाई नहीं देते है।
class_loader classes bytes parent_loader alive? type
<bootstrap> 2574 4493256 null live <internal>
0x0000000087d016d0 1 1471 0x000000008237f088 dead sun/reflect/[email protected]
... some lines omitted ...
0x000000008237f088 6505 12228227 0x0000000080383938 dead org/apache/catalina/loader/[email protected]
... some lines omitted ...
total = 600 14002 25351427 N/A alive=1, dead=599 N/A
मैं प्रोग्रामर से गुजर सकता है कोई सुझाव लाता है इस अंगूठी किसी भी घंटी है या: आदेश रिपोर्ट कक्षाओं की संख्या में कमी, संख्या में वृद्धि नहीं करता है, वहाँ कोई संदिग्ध वर्ग लोडर कर रहे हैं? वे कहते हैं कि वे रिसाव का पता लगाने में असमर्थ हैं। क्या मैं सिर्फ जेवीएम विकल्पों के साथ झुकाव करके इस रिसाव को रोक सकता हूं?
केवल 'MetaSpace' साथ समस्या यह है? 'ढेर' के बारे में क्या? और क्या आप 'जावा' प्रक्रिया मेमोरी उपयोग आंकड़े भी प्रदान कर सकते हैं? –
केवल मेटास्पेस, ढेर स्थिर है और पूर्ण नहीं है। वास्तव में क्या आंकड़े? – kubanczyk
मेरा मतलब है कि जावा प्रक्रिया मेमोरी उपयोग कितनी तेजी से बढ़ता है? –