हमारे पास एक ऐसा उत्पाद है जो वर्तमान में 32 बिट 1.6 जेआरई पर चलता है। हम बर्कले डीबी का उपयोग कर रहे हैं जो 4 जीबी एड्रेस स्पेस के लगभग 2.5 जीबी रैम का उपभोग करता है। यह हमें JVM पता स्थान के लिए लगभग 750 एमबी मेमोरी छोड़ देता है।जावा: 32 बिट में 4 जीबी मेमोरी से अधिक ढेर का उपयोग कैसे करें JVM
हम वर्तमान में वर्तमान सेटअप के साथ OutOfMemory मुद्दों को मार रहे हैं। बर्कले डीबी की 2.5 जीबी स्पेस को बरकरार रखने के दौरान हमारे जेवीएम ढेर आकार 1.5 जीबी तक बढ़ाना अच्छा लगेगा। 32-बिट JVM में 4 जीबी रैम/ढेर से अधिक तक पहुंचने का कोई तरीका है? यह मेरे सीमांत परिणाम देगा - - मैं निम्नलिखित समाधान
1) एक JVM जो बेहतर जीसी करता है का उपयोग पर विचार किया है मैं 50-100 के बारे में एमबी काम स्मृति मिल सकता है
2) कुछ memcached या "प्रक्रिया से बाहर की तरह ehcache "- यह मुझे उतना ही प्राप्त कर सकता है जितना हार्डवेयर आईपीसी/क्रमबद्धता के ऊपरी हिस्से के साथ अनुमति देता है।
क्या एप्लिकेशन की एड्रेसेबल मेमोरी बढ़ाने के लिए अन्य समाधान हैं?
समाधान सौर 10 चलने वाले स्पार्क पर काम करना चाहिए।
* अद्यतन: क्योंकि देशी साझा पुस्तकालयों का उपयोग कर के, अभी, हम एक 64-बिट JVM करने के लिए स्विच करने के लिए भले ही ओएस है नहीं कर पा रहे 64-बिट *
, धन्यवाद
ओएस बहुत सारे जीबी रैम के साथ सौर -64-बिट है। यह केवल जावा प्रक्रिया है जिसके लिए अधिक रैम/ढेर की आवश्यकता होती है। – anjanb
anjanb, क्या आप बर्कलेडीबी का सटीक संस्करण कह सकते हैं? बर्कलेडीबी को कितनी मेमोरी आरक्षित थी? – osgx