Java मेमोरी सेटिंग में बदलाव करना

ट्रैफ़िक और प्रोसेसिंग की ज़रूरी शर्तों के आधार पर, आपको Java पर आधारित प्राइवेट क्लाउड कॉम्पोनेंट चलाने वाले अपने नोड के लिए, हीप मेमोरी का साइज़ या क्लास मेटाडेटा का साइज़ बदलना पड़ सकता है.

इस सेक्शन में, डिफ़ॉल्ट और सुझाए गए Java हीप मेमोरी साइज़ के साथ-साथ डिफ़ॉल्ट को बदलने का तरीका बताया गया है. आखिर में, इस सेक्शन में प्रॉपर्टी फ़ाइलों का इस्तेमाल करके, अन्य JVM सेटिंग बदलने का तरीका बताया गया है.

हीप मेमोरी के डिफ़ॉल्ट और सुझाए गए साइज़

नीचे दी गई टेबल में, Java पर आधारित प्राइवेट क्लाउड कॉम्पोनेंट के लिए, Java हीप मेमोरी के डिफ़ॉल्ट और सुझाए गए साइज़ की सूची दी गई है:

कॉम्पोनेंट प्रॉपर्टी फ़ाइल का नाम डिफ़ॉल्ट
हीप साइज़
सुझाया गया
हीप साइज़
रनटाइम
कास्सांद्रा लागू नहीं अपने-आप कॉन्फ़िगर होने की सुविधा1 अपने-आप कॉन्फ़िगर होने की सुविधा1
मैसेज प्रोसेसर message‑processor.properties 512 एमबी 3 जीबी - 6 जीबी2
राऊटर router.properties 512 एमबी 512 एमबी
Analytics
Postgres सर्वर postgres‑server.properties 512 एमबी 512 एमबी
Qpid सर्वर qpid‑server.properties 512 एमबी 2 जीबी - 4 जीबी
मैनेजमेंट
मैनेजमेंट सर्वर management‑server.properties 512 एमबी 512 एमबी
यूज़र इंटरफ़ेस (यूआई) ui.properties 512 एमबी 512 एमबी
OpenLDAP लागू नहीं खास ऐप्लिकेशन3 खास ऐप्लिकेशन3
ज़ूकीपर zookeeper.properties 2048 एमबी 2048 एमबी
ज़रूरी जानकारी

1 कैसंड्रा शुरू होने पर ज़्यादा से ज़्यादा हीप साइज़ का हिसाब डाइनैमिक तौर पर लगाता है. फ़िलहाल, यह सिस्टम की कुल मेमोरी का आधा है और ज़्यादा से ज़्यादा 8192 एमबी तक का हो सकता है. हीप का साइज़ सेट करने के बारे में जानकारी के लिए, हीप मेमोरी का साइज़ बदलना देखें.

2 मैसेज प्रोसेसर के लिए, Apigee का सुझाव है कि आप हीप का साइज़ 3 जीबी से 6 जीबी के बीच सेट करें. परफ़ॉर्मेंस की जांच करने के बाद ही, हीप का साइज़ छह जीबी से ज़्यादा बढ़ाएं.

अगर परफ़ॉर्मेंस की जांच के दौरान हीप का इस्तेमाल, तय सीमा के आस-पास हो जाता है, तो ज़्यादा से ज़्यादा सीमा बढ़ा दें. हीप का साइज़ सेट करने के बारे में जानकारी के लिए, हीप मेमोरी का साइज़ बदलना देखें.

3 Java में, सभी प्राइवेट क्लाउड कॉम्पोनेंट लागू नहीं किए जाते हैं. ये फ़ाइलें Java पर आधारित नहीं हैं. इसलिए, होस्ट प्लैटफ़ॉर्म पर मूल रूप से चल रहे ऐप्लिकेशन में, कॉन्फ़िगर किए जा सकने वाले Java हीप साइज़ नहीं होते हैं. इसके बजाय, ये मेमोरी मैनेज करने के लिए होस्ट सिस्टम पर निर्भर होते हैं.

यह तय करने के लिए कि Apigee, किसी नोड में आपके Java-आधारित कॉम्पोनेंट के लिए कुल कितनी मेमोरी असाइन करता है, उस नोड पर हर कॉम्पोनेंट के लिए ऊपर दी गई वैल्यू जोड़ें. उदाहरण के लिए, अगर आपका नोड Postgres और Qpid सर्वर, दोनों को होस्ट करता है, तो Apigee का सुझाव है कि आपको मिली-जुली मेमोरी 2.5 जीबी से 4.5 जीबी के बीच रखें.

ज़रूरी हार्डवेयर (जैसे कि रैम) की सूची के लिए, इंस्टॉल करने की ज़रूरी शर्तें देखें.

हीप मेमोरी के साइज़ बदलना

हीप मेमोरी की सेटिंग बदलने के लिए, कॉम्पोनेंट की प्रॉपर्टी फ़ाइल में बदलाव करें. उदाहरण के लिए, मैसेज प्रोसेसर के लिए, /opt/apigee/customer/application/message-processor.properties फ़ाइल में बदलाव करें.

अगर message-processor.properties फ़ाइल मौजूद नहीं है या एज कॉम्पोनेंट से जुड़ी .properties फ़ाइल मौजूद नहीं है, तो उसे बनाएं और फिर फ़ाइल का मालिकाना हक "apigee" उपयोगकर्ता के तौर पर बदलें, जैसा कि नीचे दिया गया उदाहरण दिखाया गया है:

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

अगर कॉम्पोनेंट को मैसेज प्रोसेसर जैसी कई मशीनों पर इंस्टॉल किया गया है, तो आपको कॉम्पोनेंट को होस्ट करने वाली सभी मशीनों पर प्रॉपर्टी फ़ाइल में बदलाव करना होगा.

नीचे दी गई टेबल में उन प्रॉपर्टी की सूची दी गई है जिनमें हीप के साइज़ में बदलाव करने के लिए बदलाव किए जाते हैं:

प्रॉपर्टी जानकारी
bin_setenv_min_mem

हीप का कम से कम साइज़. डिफ़ॉल्ट वैल्यू, हीप मेमोरी के डिफ़ॉल्ट और सुझाए गए साइज़ में दी गई वैल्यू पर आधारित होती है.

यह सेटिंग Java -Xms विकल्प के हिसाब से है.

bin_setenv_max_mem

हीप का ज़्यादा से ज़्यादा साइज़. डिफ़ॉल्ट वैल्यू, हीप मेमोरी के डिफ़ॉल्ट और सुझाए गए साइज़ में दी गई वैल्यू पर आधारित होती है.

यह सेटिंग Java -Xmx विकल्प के हिसाब से है.

bin_setenv_meta_space_size

क्लास के मेटाडेटा का डिफ़ॉल्ट साइज़. डिफ़ॉल्ट तौर पर, यह वैल्यू bin_setenv_max_permsize पर सेट होती है. यह डिफ़ॉल्ट तौर पर 128 एमबी की होती है. मैसेज प्रोसेसर पर, Apigee का सुझाव है कि आप अपने ट्रैफ़िक के आधार पर, इस वैल्यू को 256 एमबी या 512 एमबी पर सेट करें.

यह सेटिंग Java -XX:MetaspaceSize विकल्प के हिसाब से है.

जब किसी नोड पर हीप साइज़ की प्रॉपर्टी सेट की जाती हैं, तो मेगाबाइट के बारे में बताने के लिए "m" सफ़िक्स का इस्तेमाल करें, जैसा कि इस उदाहरण में दिखाया गया है:

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

प्रॉपर्टी फ़ाइल में वैल्यू सेट करने के बाद, कॉम्पोनेंट को रीस्टार्ट करें:

/opt/apigee/apigee-service/bin/apigee-service component restart

उदाहरण के लिए:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

अन्य JVM प्रॉपर्टी बदलें

जिन Java सेटिंग को ऊपर दी गई प्रॉपर्टी कंट्रोल नहीं करती हैं उनके लिए, किसी भी Edge कॉम्पोनेंट से जुड़ी प्रॉपर्टी फ़ाइल में इन्हें भी सेट किया जा सकता है:

  • bin_setenv_ext_jvm_opts: ऐसी कोई भी Java प्रॉपर्टी सेट करें जिसे दूसरी प्रॉपर्टी ने तय न किया हो. उदाहरण के लिए:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    हालांकि, -Xms, -Xmx या -XX:MetaspaceSize को सेट करने के लिए, bin_setenv_ext_jvm_opts का इस्तेमाल न करें, क्योंकि ये वैल्यू ऊपर दी गई प्रॉपर्टी से कंट्रोल होती हैं.

प्राइवेट क्लाउड कॉम्पोनेंट के लिए मेमोरी कॉन्फ़िगर करने के बारे में ज़्यादा सलाह पाने के लिए, Edge फ़ोरम पर यह लेख देखें.