2012-10-15 10 views
5

मैंने एसएसएच का उपयोग कर लिनक्स-आधारित सर्वर से कनेक्ट किया है। हाल ही में, मैं स्थापित किया है JDK का उपयोग कर निम्न आदेश:'वीएम' जावा के प्रारंभ में त्रुटि हुई 'को हल करने के लिए कैसे?

sudo yum install java-1.6.0-openjdk-devel

और JDK सफलतापूर्वक स्थापित है, लेकिन जब भी मैं आदेश java या javac चलाने मैं निम्नलिखित त्रुटि मिलती है:

Error occurred during initialization of VM 
Could not reserve enough space for object heap 
Could not create the Java virtual machine. 

भी, आदेश java -version चल , वह त्रुटि लाएगा। जब मैं जावा java -Xmx512m -Xms256m -version का उपयोग कर अधिक स्थान देने के प्रयास करते हैं, मैं निम्नलिखित प्राप्त करेंगे त्रुटि:

*** glibc detected *** java: double free or corruption (!prev): 0x00007fc84400e270 *** 
*** glibc detected *** java: double free or corruption (fasttop): 0x00007fc8440089f0 *** 
# 
Aborted (core dumped) 

मैं यह कैसे हल कर सकते हैं?

धन्यवाद आप JDK 32-बिट संस्करण उपयोग कर रहे हैं की तरह पहले से

+0

'जावा' को देखने के लिए कौन सा जावा चल रहा है? शायद यह सही लोगों के लिए नहीं चल रहा है? या जावा को अपनी बिन निर्देशिका से सीधे निष्पादित करें? –

+2

क्या आपने स्मृति पर सीमा निर्धारित की है? किस तरह का लिनक्स? आरएचईएल, फेडोरा? 'uname -a' चलाएं और प्रश्न में आउटपुट जोड़ें। और '$ ulimit -a' भी मददगार होगा – user1516873

+0

मैं उस glibc संदेश के बारे में चिंतित हूं ... – Shark

उत्तर

2

मैंने इस तरह के अपवाद को कभी नहीं देखा है, इसलिए यह मेरा सबसे अच्छा अनुमान है: क्या आपने stack size by using -Xss JVM parameter (यानी -Xms8m -Xmx16m -Xss4m) को सीमित करने का प्रयास किया था? इसके अलावा त्वरित googling सुझाव है कि export MALLOC_CHECK_=0 संभवतः आपको खत्म होने दे सकता है, लेकिन मुझे यकीन नहीं है कि JVM अच्छी तरह से काम करेगा या नहीं।

-1

लग रहा है। यदि ऐसा है, तो आप 1.2GB या कुछ से अधिक एक हीप आकार असाइन नहीं कर सकते हैं।

या तो 64 बिट जेडीके का उपयोग करें या अधिकतम ढेर आकार के रूप में 1.2G के साथ प्रयास करें।

+0

लेकिन मैं 1.2 जीबी से अधिक ढेर का उपयोग नहीं कर रहा हूं, मैंने -Xmx512m का उपयोग किया है जिसका अर्थ है अधिकतम पर 512 एमबी ढेर का उपयोग करें। –

1

वर्चुअल लिनक्स सर्वर? जब चलाने आप क्या मिलता है:

जावा -Xmx1m -संस्करण

और

ulimit -एक

एक स्मृति समस्या का आवंटन तरह लग रहा है। यदि संभव हो तो आप स्वैप स्थान को बढ़ाने की कोशिश कर सकते हैं।

1

मेरे लिए ऐसा लगता है कि वर्चुअल मशीन (शायद भौतिक स्मृति, वर्चुअल मेमोरी या उलिमिट) चलाने के लिए पर्याप्त मेमोरी नहीं है - आपको वीएम को आवंटित स्मृति को कम करने का प्रयास करना चाहिए (मुझे 64 एमबी में डिफ़ॉल्ट लगता है) नहीं इसे बढ़ाना

+0

जावा -Xmx3000m -Xms3000m वीएम प्रारंभ करने के दौरान त्रुटि हुई ऑब्जेक्ट ढेर त्रुटि के लिए पर्याप्त स्थान आरक्षित नहीं कर सका: जावा वर्चुअल मशीन नहीं बना सका। यहां तक ​​कि बड़े मूल्य भी वीएम को दुर्घटनाग्रस्त करते हैं – thedayofcondor

0

उदाहरण के लिए अपने -Xms (xmx नहीं) .Use -Xms40m कम करें। अगर यह अन्य उत्तरों में कहा गया है, तो यह शुरू होता है, तो शुरुआत में वीएम के लिए 256 मीटर पुनः प्राप्त करने के लिए आप स्मृति पर बहुत कम हो सकते हैं।

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