2012-11-21 25 views
19

मैं अपने 32 बिट विंडोज एक्सपी पर 32 बिट इंटेलिज का उपयोग कर रहा हूं जिसमें 4 जीबी रैम है।
मैं इंटेलिज xmx को 1.5 जीबी तक बढ़ाने की कोशिश कर रहा हूं: -Xmx1500m
तो मुझे पता है कि 32 बिट सिस्टम में जेवीएम 1.5 जीबी रैम का समर्थन करता है।
लेकिन इस त्रुटि JVM से फेंकता है:
इंटेलिज 32 बिट xmx 1 जीबी से अधिक कैसे बढ़ाएं?

The JVM could not be started. The maximum heap size (-Xmx) might be too large ... 

मैं 900MB
की तुलना में अधिक Xmx IntelliJ नहीं बढ़ा सकते हैं कृपया मेरी मदद करो!

उत्तर

39

आप ऐसा नहीं कर सकते क्योंकि JVM को एक ही निरंतर खंड में सभी ढेर आवंटित करने की आवश्यकता है, जो स्मृति विखंडन के कारण संभव नहीं हो सकता है। अधिक जानकारी के लिए See my FAQ article

JVM heap

तुम नोटिस कर सकते हैं, कुल प्रक्रिया स्मृति न सिर्फ ढेर आकार, यह बहुत आसान 2GB ओएस सीमा हिट करने के लिए कर रही है:

भी इस तस्वीर को देखें।

वास्तविक ढेर का उपयोग किया जा सकता है जो ओएस कॉन्फ़िगरेशन और चल रहे अन्य अनुप्रयोगों पर भिन्न होता है (हुक के साथ डीएलएल प्रक्रिया स्थान में इंजेक्ट करते हैं और अतिरिक्त विखंडन का कारण बनते हैं)। आमतौर पर यह कहीं 512 एम और 1 जी के बीच है, लेकिन एक स्वच्छ प्रणाली पर अधिक हो सकता है।