2010-06-22 55 views
7

मेरे पास एक .JAR है जो स्पष्ट रूप से बहुत अधिक मेमोरी का उपयोग करता है, और "जावा हीप स्पेस" (या कुछ समान) अपवाद फेंकता है।जावा हीप स्पेस एक्सएमएक्स एक्सएमएस पैरामीटर

तो मैं इस तरह अध्यक्ष एवं प्रबंध निदेशक के माध्यम से .JAR चलाने का भी प्रयास:

C:\MyFolder>javaw -jar MyJar.jar -Xms64m -Xmx128m 

कि समस्या का समाधान नहीं किया। वही त्रुटि अब, जब मैंने विंडोज़ टास्क मैनेजर में प्रोसेस टैब की जांच की, तो मैंने देखा कि मेरे जार की प्रक्रिया में मैंने जो पूछा है उससे बहुत कम मेमोरी है (पैरामीटर के बिना इसे चलाने के समान)।

पैरामीटर को अनदेखा क्यों कर रहा है?

इसके अलावा, मुझे लगता है कि प्रक्रिया लगभग 100 एमबी मेमोरी उपयोग तक पहुंचने के दौरान अपवाद फेंक दिया जाता है। क्या यह संभव है कि जीसी स्मृति को मुक्त करने की कोशिश कर रहा है और यही कारण है कि समस्या का कारण बनता है? क्या कोई पैरामीटर है जिसे मैं जीसी के लिए रोकने के लिए सेट कर सकता हूं?

धन्यवाद, Malki :)

+0

* "... एक अपवाद फेंकता है" जावा हीप स्पेस "(या कुछ समान)।" * कैसे .... सहायक। * वास्तविक * अपवाद फेंक दिया गया है? –

उत्तर

23

कमान

javaw -jar MyJar.jar -Xms64m -Xmx128m 

-Xms का उपयोग करेगा ... और -Xmx ... करने के लिए पैरामीटर के रूप में "(String [] args)" विधि।
पैरामीटर करने के लिए JVM जार भाग से पहले पारित कर दिया जाना चाहिए:

javaw -Xms64m -Xmx128m -jar MyJar.jar 

कि के लिए कारण देखा जा सकता है जब हम पर अमल "जावा -संस्करण":

Usage: java [-options] class [args...] 
      (to execute a class) 
    or java [-options] -jar jarfile [args...] 
      (to execute a jar file) 

कहाँ अपने मानकों -Xms ... और -Xmx ... JVM के विकल्प हैं।

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