2011-06-17 23 views
23

चींटी permgen आकार कैसे बढ़ाएं? मैंचींटी permgen आकार कैसे बढ़ाएं?

रूप ANT_OPTS में दे दिया है

-Xms768m -Xmx1024m -XX: PermSize = 128 -XX: MaxPermSize = 128

सवाल 1) सिस्टम वातावरण में स्थापित करने से ऊपर निर्दिष्ट करने के बाद, अभी भी मैं हूँ जूनिट के लिए चींटी लक्ष्य के लिए यादगार त्रुटि से बाहर निकलना।

Caught an exception while logging the end of the build. Exception was: 
java.lang.OutOfMemoryError: PermGen space 

2) जब मैं आदेश शीघ्र में टाइप ant_opts के लिए मार्ग है क्या देखने के लिए, गूंज% ant_opts% यह केवल

-Xmx512m

और अन्य भागों से पता चलता छोड़ देता है। मेरे रास्ते में कुछ गलत है? नोट: मैं चींटी लक्ष्य चलाने के लिए कमांड प्रॉम्प्ट का उपयोग कर रहा हूं।

+0

जांचें कि आपके पास कोई अन्य चर नहीं है (जैसे 'JAVA_OPTS') इसे ओवरराइड करना। – Mikaveli

+0

क्या आप इसे किसी प्रकार के कंटेनर के माध्यम से चला रहे हैं? शायद यह मूल्यों को पार नहीं कर रहा है। –

+0

नहीं मेरे पास कोई अन्य OPTS नहीं है। मैं एकीकरण परीक्षण चला रहा हूं जिसमें परीक्षण मामलों को निष्पादित करने में लंबा समय लगता है। जूनिट रिपोर्ट के लिए चींटी लक्ष्य चलाने के लिए कमांड प्रॉम्प्ट का उपयोग करना। – TechFind

उत्तर

25

मेरे कंप्यूटर पर जाएं> सही क्लिक-> गुण> Advanced-> पर्यावरण variables-> नई (सिस्टम में/उपयोगकर्ता चर) ->

आपके सिस्टम स्मृति आकार के अनुसार

  1. कॉन्फ़िगर मान:

    दर्ज

    Varible name: ANT_OPTS 
    Varible Value : -Xms1536m -Xmx1536m -XX:PermSize=1024m -XX:MaxPermSize=2048m 
    

    नोट।

  2. मैक के लिए खिड़कियों के लिए इस config, अन्य ओएस config तदनुसार

के लिए:

निर्यात MAVEN_OPTS: आदेश नीचे चलाने

टर्मिनल में

, परियोजना में गोटो pom.xml पथ, = "- Xmx1024m -XX: MaxPermSize = 512m" नोट: आकार सिस्टम रैम पर आधारित है। मैंने पुरानी चींटी के बजाय मैवेन का इस्तेमाल किया। मेवेन/चींटी कॉन्फ़िगरेशन के लिए MAVEN_OPTS/ANT_OPTS का उपयोग करें।

+3

अनजाने में, यह मेरे कंप्यूटर पर काम नहीं करता है: एक मैक ओएस एक्स चल रहा है! – gutch

+0

मेरा न तो (उबंटू 12.04) – mondjunge

+0

क्या मैक निर्देश 'ANT_OPTS'' MAVEN_OPTS' नहीं होना चाहिए? – pgreen2

3

आपका परीक्षण क्या करता है? क्या यह एक पुनरावर्ती विधि कहता है?

इसके अलावा, आपके परीक्षण के लिए आपके द्वारा दर्ज किए गए मान किसी भी सिस्टम सेटिंग को ओवरराइड करेंगे। अपने चींटी लिपि में JUnit करने के लिए अपने कॉल में इस प्रयास करें:

<junit fork="yes" maxmemory="1024"> 
+1

यदि आप 'maxmemory' की आपूर्ति नहीं करते हैं तो डिफ़ॉल्ट क्या है? – Blundell

+0

महान जवाब!मैंने पाया कि मुझे स्मृति त्रुटि से बाहर निकल रहा था क्योंकि हमारे '' को बदल दिया गया था। डिफ़ॉल्ट रूप से, यह 'perTest' है, लेकिन यदि यह किसी और चीज में बदल गया है (उदा। 'एक बार') तो यह आउटऑफमेमरी अपवाद का कारण बन सकता है क्योंकि जूनिट प्रत्येक परीक्षण के लिए एक नया वीएम उदाहरण शुरू नहीं करता है। –

1

मेरे जूनिट चींटी लक्ष्य के लिए मैंने बस fork="true" सेट किया है, जिस तरह से जूनिट कार्यों के लिए एक नया जेवीएम शुरू किया जाएगा, forkmode="perBatch" या "perTest" भी मेरे लिए काम किया है!

संबंधित मुद्दे