मैं सिर्फ यह जानना चाहता था कि जावावीएम (सूर्य, लिनक्स) का वास्तविक पदचिह्न क्या है जब कोई JVMs की कई प्रक्रियाओं को शुरू करना शुरू कर देता है। जब मुझे अच्छी तरह याद है तो उन्हें rt.jar (और शायद परे?) साझा करना चाहिए। क्या वे जेवीएम जेआईटी कैश साझा करते हैं (सभी जेवीएम एक ही क्लासपाथ की सुविधा देते हैं)?जेवीएम की मेमोरी पदचिह्न क्या है और मैं इसे कम कैसे कर सकता हूं?
क्या ऐसा कुछ भी है जो मैं बहु-उदाहरण JVM के ओवरहेड को कम करने के लिए कर सकता हूं? (ढेर के लिए छोटी सीमा निर्धारित करने के बगल में)?
एप्लिकेशन प्रोग्रामिंग करते समय मैं कुछ भी कर सकता हूं?
क्या मैं मेमोरी क्षेत्रों को साझा कर सकता हूं? शायद मैप किए गए मेमोरी ब्लॉक साझा करें?
क्यों आप एक से अधिक JVMs अंडे देने के लिए की जरूरत है? ऐसे कारण हैं कि कोई ऐसा क्यों करना चाहेगा, लेकिन आपके कारण क्या हैं? –
यदि आप एकाधिक जेवीएम का उपयोग कर रहे हैं, तो यह एक अच्छे कारण के लिए होगा और प्रत्येक जेवीएम की मेमोरी ओवरहेड आपके द्वारा चल रही मशीन की तुलना में काफी छोटी होनी चाहिए। –
सरल रखो, विकास के दौरान मेरे पास एक ही प्रक्रिया में कुछ भी होगा। तैनाती के दौरान मुझे आश्चर्य है कि क्या मैं सादगी के बजाय स्थिरता में सहायता के लिए विभिन्न प्रक्रियाओं में कई अलग-अलग हिस्सों को रख सकता हूं। आपको एक उदाहरण देने के लिए। यदि आप लिनक्स पर हाल ही में क्रोम संस्करण + सेलेनियम लाते हैं तो बाधाएं लगभग 25: 1 होती हैं कि प्रक्रियाएं फंस जाती हैं और आप लॉक हो जाते हैं। इसे अपनी प्रक्रिया में रखकर, क्रोम प्रक्रिया को मारना अगर यह बहुत लंबा लगता है, तो जवाब है। एक अन्य परिदृश्य सी ++ कोड चला रहा है, इसे अपनी प्रक्रिया में अलग करने से आपके JVM को गलती पर क्रैश नहीं होता है और यदि आप ऐसा करते हैं तो आप इसे पुनरारंभ कर सकते हैं। –