आखिरकार!
जावा 8u191 के अनुसार अब आपके पास विकल्प हैं:
-XX:InitialRAMPercentage
-XX:MaxRAMPercentage
-XX:MinRAMPercentage
प्रयोग करने योग्य भौतिक रैम के प्रतिशत के रूप में ढेर को आकार देने के लिए इसका उपयोग किया जा सकता है। (जो रैम के समान है जिसे कर्नेल कम उपयोग करता है)।
अधिक जानकारी के लिए Java8 u191 के रिलीज़ नोट देखें । ध्यान दें कि विकल्पों का उल्लेख एक डॉकर हेडिंग के तहत किया गया है लेकिन वास्तव में वे लागू होते हैं चाहे आप डॉकर वातावरण में हों या पारंपरिक वातावरण में।
के लिए डिफ़ॉल्ट मान MaxRAMPercentage25% के है। यह अत्यंत रूढ़िवादी है।
मेरा अपना नियम: यदि आपका होस्ट दिए गए जावा एप्लिकेशन को चलाने के लिए अधिक या कम समर्पित है, तो आप समस्याओं के बिना नाटकीय रूप से बढ़ सकते हैं। यदि आप लिनक्स पर हैं, केवल मानक डेमॉन चला रहे हैं और 1 जीबी और आसपास के कहीं से रैम स्थापित किया है तो मैं जेवीएम के ढेर के लिए 75% का उपयोग करने में संकोच नहीं करूंगा। फिर, याद रखें कि यह उपलब्ध रैम का 75% है , रैम स्थापित नहीं है । जो बचा है वह अन्य उपयोगकर्ता भूमि प्रक्रियाएं हैं जो मेजबान पर चल रही हैं और अन्य प्रकार की मेमोरी जो जेवीएम की जरूरत है (जैसे स्टैक के लिए)। सभी एक साथ, यह आमतौर पर 25% में अच्छी तरह से फिट होगा जो बचा हुआ है। जाहिर है, अधिक स्थापित रैम के साथ 75% एक सुरक्षित और सुरक्षित शर्त है। (काश JDK लोगों ने एक विकल्प लागू किया होता जहाँ आप एक सीढ़ी निर्दिष्ट कर सकते थे)
MaxRAMPercentageविकल्प सेट करना इस तरह दिखता है:
java -XX:MaxRAMPercentage=75.0 ....
ध्यान दें कि ये प्रतिशत मान 'डबल' प्रकार के हैं और इसलिए आपको उन्हें दशमलव डॉट के साथ निर्दिष्ट करना होगा। यदि आप "75.0" के बजाय "75" का उपयोग करते हैं, तो आपको कुछ विषम त्रुटि मिलती है।