जवाबों:
तर्कों का उपयोग करें -Xms<memory> -Xmx<memory>। क्रमशः बाइट्स के मेग्स और गिग्स को इंगित करने के लिए संख्याओं का उपयोग Mया Gउसके बाद। -Xmsन्यूनतम और -Xmxअधिकतम इंगित करता है ।
-Xmx524Mऔर इस प्रक्रिया में 1.2 जीबी रैम लगी। (?)
आपको स्टैक लीक मेमोरी के बारे में चिंता नहीं करनी चाहिए (यह बेहद असामान्य है)। केवल तभी जब आप स्टैक को नियंत्रण से बाहर कर सकते हैं, अनंत (या वास्तव में गहरी) पुनरावृत्ति के साथ है।
यह सिर्फ ढेर है। क्षमा करें, आपके प्रश्न को पहले पूरी तरह से नहीं पढ़ा था।
आपको JVM को निम्न कमांड लाइन तर्क के साथ चलाने की आवश्यकता है।
-Xmx<ammount of memory>
उदाहरण:
-Xmx1024m
यह JVM के लिए अधिकतम 1GB मेमोरी की अनुमति देगा।
-XX:MaxDirectMemorySize। ऐसा नहीं है कि मैंने यह सुनिश्चित करने के लिए बहुत जोर दिया है लेकिन फिर भी;)
MaxDirectMemorySizeकेवल NIO बफ़र्स को प्रभावित करता है। JVM द्वारा सभी प्रकार की अन्य मूल मेमोरी का उपयोग किया जाता है।
यदि आप jvm (ढेर का आकार नहीं) ulimit -v के लिए मेमोरी को सीमित करना चाहते हैं
Jvm और हीप मेमोरी के बीच अंतर का अंदाजा लगाने के लिए, इस उत्कृष्ट लेख http://blogs.vmware.com/apps/2011/06/taking-a-closer-look-at-sizing-the- पर एक नज़र डालें जावा-process.html
ulimitएक लिनक्स आदेश? मैंने त्वरित Google खोज की और ulimitJVM के बीच कोई संबंध नहीं देखा । Y
ऊपर दिया गया उत्तर सही है, आप किसी व्यक्ति की याददाश्त को नियंत्रित नहीं कर सकते हैं जो एक जावा प्रक्रिया को आवंटित करता है। यह इस बात पर निर्भर करता है कि आपका आवेदन क्या कर रहा है।
कहा कि, प्लेटफ़ॉर्म के आधार पर, आप कुछ तंत्र का उपयोग करने में सक्षम हो सकते हैं, उदाहरण के लिए, किसी जावा या किसी अन्य प्रक्रिया के आकार को सीमित करने के लिए।
अगर यह उस सीमा से टकराता है तो बस इसे शान से असफल होने की उम्मीद न करें। जावा मेमोरी पर आवंटन विफलताओं की तुलना में मूल मेमोरी आवंटन विफलताएं बहुत कठिन हैं। एक काफी अच्छा मौका है कि आवेदन दुर्घटनाग्रस्त हो जाएगा, लेकिन यह प्रक्रिया के आकार को बनाए रखने के लिए सिस्टम के लिए कितना महत्वपूर्ण है, इस पर निर्भर करता है कि अभी भी आपको सूट कर सके।
NativeHeap को -XX द्वारा बड़ा किया जा सकता है: MaxDirectMemorySize = 256M (डिफ़ॉल्ट 128 है)
मैंने कभी इसका इस्तेमाल नहीं किया। शायद आपको यह उपयोगी लगेगा।