java - "वीएम की शुरुआत के दौरान त्रुटि हुई; ऑब्जेक्ट ढेर के लिए पर्याप्त जगह आरक्षित नहीं कर सका "-Xmx3G का उपयोग कर




eclipse jvm (7)

इस समस्या का कारण टॉमकैट शुरू करने के लिए कोई स्मृति उपलब्ध नहीं है। विंडोज़ से अवांछित चलने वाले सॉफ़्टवेयर को हटाने का प्रयास करें और ग्रहण और टोमकैट को पुनरारंभ करें।

सबसे पहले, मेरे पास 8 जीबी रैम वाला एक बॉक्स है, इसलिए मुझे संदेह है कि कुल स्मृति समस्या है। यह एप्लिकेशन 6 जीबी या उससे कम मशीनों पर ठीक चल रहा है।

मैं ग्रहण में रन कॉन्फ़िगरेशन में "वीएम तर्क" के तहत -Xmx3G का उपयोग करके 3 जीबी स्पेस आरक्षित करने की कोशिश कर रहा हूं।

हर बार जब मैं 1500 एमबी से अधिक आरक्षित करने की कोशिश करता हूं, तो मुझे यह त्रुटि मिलती है: "वीएम की शुरुआत के दौरान त्रुटि हुई; ऑब्जेक्ट ढेर के लिए पर्याप्त जगह आरक्षित नहीं कर सका "-Xmx3G का उपयोग कर

यहाँ क्या हो रहा है?


क्या यह हो सकता है कि आप उस मशीन पर 32-बिट जेवीएम का उपयोग कर रहे हों?


मैं ग्रहण आईडीई से टॉमकैट सर्वर के साथ लिफेरे का उपयोग कर रहा था। सर्वर शुरू होने पर क्लिक करने पर मैं वही त्रुटि से फंस गया था। ग्रहण से सर्वर पर डबल क्लिक करें। यह सर्वर अवलोकन पृष्ठ खोलें। -Xmx1024m -XX से अद्यतन स्मृति तर्क: MaxPermSize = 256m से -Xmx512m -XX: MaxPermSize = 256m। फिर यह मेरे लिए काम कर रहा था।


यह ढेर आकार का मुद्दा है। अपनी .bat (बैच फ़ाइल) संपादित करें। यह ढेर आकार 1024 दिखा रहा है। इसे 512 में बदलें, फिर इसे काम करना चाहिए।


सबसे पहले 32 बिट्स का जेआरई ~ 1.5 जीबी रैम का उपयोग नहीं कर सकता है। तो यदि आप और चाहते हैं, तो 64 बिट्स जेआरई का उपयोग करें।

दूसरा, जब कोई नया JVM प्रारंभ होता है, तो यह चल रहा है कि सभी JVM की -Xmx प्रॉपर्टी है, और यह जांचें कि क्या सिस्टम पर पर्याप्त स्मृति है जो अपने स्वयं के एक्सएक्सएक्स पर चलने के लिए है, अगर पर्याप्त नहीं है तो त्रुटि होती है।


सुनिश्चित करें कि ग्रहण वास्तव में वही JVM चला रहा है जो आपको लगता है कि यह चल रहा है। यदि आप कभी भी अपने वेब ब्राउज़र में जावा का उपयोग करते हैं, तो आपके पास 32-बिट संस्करण भी हो सकता है, जो कि हाल ही में स्थापित या अद्यतन होने पर प्राथमिकता ले सकता है।

पूरी तरह से सुनिश्चित होने के लिए, मैं इन दो पंक्तियों को शीर्ष पर अपनी eclipse.ini फ़ाइल में जोड़ने की अनुशंसा करता हूं:

-vm 
C:/Java/jdk1.6.0_27/bin

... जहां मेरी मशीन C:/Java/jdk1.6.0_27/bin जहां मुझे पता है कि जेवीएम 64-बिट स्थित है। वहां bin फ़ोल्डर रखना सुनिश्चित करें।

(विंडोज 7 पर, बोनस के रूप में, यह आपको वास्तव में "टैब पिन" करने की अनुमति देता है, यही कारण है कि मुझे इसे अपने स्वयं के उपयोग के लिए करना था)


यहां इसे ठीक करने का तरीका बताया गया है: Start->Control Panel->System->Advanced(tab)->Environment Variables->System

Variables->New:
Variable name: _JAVA_OPTIONS   
Variable value: -Xmx512M

Variable name: Path  
Variable value: ;C:\Program Files\Java\jre6\bin;F:\JDK\bin;  

इसे अपने उचित रास्ते में बदलें।







jvm-arguments