jvm - Java Memory Management - java web start "Error: could not create the java virtual machine" -
मैंने एक jnlp फ़ाइल को initial-heap-size = "512m" max-heap-size = "" के साथ परिभाषित किया है एक मशीन पर 1024 एम "
जो 12 जीबी के साथ 16 जीबी उपलब्ध है। मूल पुस्तकालयों की वजह से जेवीएम चलना 32-बिट जेवीएम है। मैं समझता हूं कि मेरे पास अधिकतम 1 जीबी उपलब्ध होना चाहिए जो कि मैक्स के आवंटन के लिए उपलब्ध है। अगर मैं अधिकतम-हैप-आकार
को 768 तक कम करता हूं, तो यह सामान्य रूप से चलता है, और कभी-कभी मुझे इसे कम करने की आवश्यकता नहीं है।
दो प्रश्न:
-
जेवीएम शुरू होने से पहले मैक्स-हेप-साइज शुरू करने से पहले मशीन की जाँच क्यों की जा रही है? क्या वहाँ जो दावा किया जा रहा है?
-
अगर मुझे 12 जीबी उपलब्ध है तो मैं पूरी तरह से 1 जीबी को आवंटित करने में सक्षम क्यों नहीं हो सकता - यह मानते हुए कि 1 जीबी ब्लॉक उपलब्ध है?
यदि आप 64-बिट जेवीएम ...
अगर 32-बिट जेवीएम का इस्तेमाल करते हुए विंडोज पर, आपको "बड़े पता जागरूक" (JVM संकलित / लिंक / LARGEADDRESSAWARE विकल्प से लिंक किया गया है) शोध करनी होगी। यह आपको 32-बिट के साथ बड़ा स्मृति पदचिह्न का उपयोग करने की अनुमति देगा। आप किसी विशेष निष्पादन योग्य पर थोड़ी सी सेट कर सकते हैं।
यदि लिनक्स पर है, तो अपने सिस्टम को कठोर या नरम सीमाएं देखें यह आपकी प्रक्रिया का अधिकतम आकार सीमित कर सकता है इसके अलावा, आपके पास प्रोसेस कंट्रोल समूह हो सकते हैं।
लिलीक्स / यूनिक्स पर
ulimit -a
विशेष रूप से देखो Ulimit -m या -v सेटिंग्स पर यदि ये असीमित हैं, तो आप एक अन्य प्रकार के नियंत्रण तंत्र का अनुभव कर सकते हैं।
Comments
Post a Comment