ट्रैफ़िक और प्रोसेसिंग की ज़रूरतों के आधार पर, आपको अपने उन नोड के लिए हीप मेमोरी का साइज़ या क्लास मेटाडेटा का साइज़ बदलना पड़ सकता है जिनमें Java-based Private Cloud कॉम्पोनेंट चल रहे हैं.
इस सेक्शन में, 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 Cassandra, शुरू होने पर डाइनैमिक तरीके से हेप के ज़्यादा से ज़्यादा साइज़ का हिसाब लगाता है. फ़िलहाल, यह कुल सिस्टम मेमोरी का आधा हिस्सा है. इसमें ज़्यादा से ज़्यादा 8192 एमबी तक का डेटा सेव किया जा सकता है. हीप का साइज़ सेट करने के बारे में जानकारी के लिए, हीप मेमोरी का साइज़ बदलना देखें. |
|||
2 Apigee का सुझाव है कि मैसेज प्रोसेसर के लिए, हेप साइज़ को 3 जीबी से 6 जीबी के बीच सेट करें. परफ़ॉर्मेंस की जांच करने के बाद ही, हीप का साइज़ छह जीबी से ज़्यादा बढ़ाएं.
अगर परफ़ॉर्मेंस की जांच के दौरान, हेप का इस्तेमाल तय सीमा के करीब पहुंच जाता है, तो तय सीमा को बढ़ाएं. ढेर का साइज़ सेट करने के बारे में जानने के लिए, ढेर की मेमोरी का साइज़ बदलना लेख पढ़ें. |
|||
3 Private Cloud के सभी कॉम्पोनेंट, Java में लागू नहीं किए गए हैं. होस्ट प्लैटफ़ॉर्म पर नेटिव तौर पर काम करने वाले ऐप्लिकेशन, जावा पर आधारित नहीं होते. इसलिए, इनमें जावा हेप का साइज़ कॉन्फ़िगर नहीं किया जा सकता. इसके बजाय, ये ऐप्लिकेशन, मेमोरी मैनेजमेंट के लिए होस्ट सिस्टम पर निर्भर होते हैं. |
यह तय करने के लिए कि Apigee आपके लिए किसी नोड पर, Java-based कॉम्पोनेंट के लिए कितनी कुल मेमोरी को ऐलोकेट करने का सुझाव देता है, उस नोड पर हर कॉम्पोनेंट के लिए ऊपर दी गई वैल्यू जोड़ें. उदाहरण के लिए, अगर आपके नोड में Postgres और Qpid, दोनों सर्वर होस्ट किए जाते हैं, तो Apigee का सुझाव है कि आपके नोड के लिए कुल मेमोरी का ऐलोकेशन 2.5 जीबी से 4.5 जीबी के बीच होना चाहिए.
ज़रूरी हार्डवेयर (जैसे, रैम) की सूची देखने के लिए, इंस्टॉल करने से जुड़ी ज़रूरी शर्तें देखें.
हीप मेमोरी का साइज़ बदलना
हीप मेमोरी की सेटिंग बदलने के लिए, कॉम्पोनेंट की प्रॉपर्टी फ़ाइल में बदलाव करें. उदाहरण के लिए, मैसेज प्रोसेसर के लिए, /opt/apigee/customer/application/message-processor.properties
फ़ाइल में बदलाव करें.
अगर message-processor.properties
फ़ाइल मौजूद नहीं है या किसी Edge कॉम्पोनेंट के लिए उससे जुड़ी .properties
फ़ाइल मौजूद नहीं है, तो उसे बनाएं. इसके बाद, फ़ाइल का मालिकाना हक "apigee" उपयोगकर्ता पर ट्रांसफ़र करें, जैसा कि यहां दिए गए उदाहरण में दिखाया गया है:
chown apigee:apigee /opt/apigee/customer/application/message-processor.properties
अगर कॉम्पोनेंट को मैसेज प्रोसेसर जैसी कई मशीनों पर इंस्टॉल किया गया है, तो आपको कॉम्पोनेंट को होस्ट करने वाली सभी मशीनों पर प्रॉपर्टी फ़ाइल में बदलाव करना होगा.
इस टेबल में उन प्रॉपर्टी की सूची दी गई है जिनमें हेप साइज़ बदलने के लिए बदलाव किया जाता है:
प्रॉपर्टी | ब्यौरा |
---|---|
bin_setenv_min_mem |
ढेर का कम से कम साइज़. डिफ़ॉल्ट वैल्यू, डिफ़ॉल्ट और सुझाए गए हेप मेमोरी साइज़ में दी गई वैल्यू के आधार पर तय होती है. यह सेटिंग, Java |
bin_setenv_max_mem |
ज़्यादा से ज़्यादा हेप साइज़. डिफ़ॉल्ट वैल्यू, हीप मेमोरी के डिफ़ॉल्ट और सुझाए गए साइज़ में दी गई वैल्यू पर आधारित होती है. यह सेटिंग, Java |
bin_setenv_meta_space_size |
क्लास के मेटाडेटा का डिफ़ॉल्ट साइज़. डिफ़ॉल्ट तौर पर, यह वैल्यू
यह सेटिंग, Java |
किसी नोड पर हेप साइज़ प्रॉपर्टी सेट करते समय, मेगाबाइट दिखाने के लिए "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 कॉम्पोनेंट के लिए अतिरिक्त JVM फ़्लैग या वैल्यू भी पास की जा सकती हैं. *.properties
फ़ाइलों को Bash में पढ़ा जाएगा. लिटरल वर्ण को बनाए रखने के लिए, उन्हें '
(सिंगल कोट) में रखा जाना चाहिए. अगर आपको शेल एक्सपैंशन की ज़रूरत है, तो उन्हें "
(डबल कोट) में रखें.
bin_setenv_ext_jvm_opts
: ऐसी कोई भी Java प्रॉपर्टी सेट करें जिसे दूसरी प्रॉपर्टी ने तय न किया हो. उदाहरण के लिए:bin_setenv_ext_jvm_opts='-XX:MaxGCPauseMillis=500'
हालांकि,
-Xms
,-Xmx
या-XX:MetaspaceSize
को सेट करने के लिए,bin_setenv_ext_jvm_opts
का इस्तेमाल न करें. ऐसा इसलिए, क्योंकि इन वैल्यू को ऊपर दी गई प्रॉपर्टी से कंट्रोल किया जाता है.
निजी क्लाउड कॉम्पोनेंट के लिए मेमोरी कॉन्फ़िगर करने के बारे में ज़्यादा सलाह पाने के लिए, Edge फ़ोरम पर यह लेख पढ़ें.