लोचदार खोज अधिकतम मेमोरी आकार सेट करें

Locadara Khoja Adhikatama Memori Akara Seta Karem



'इलास्टिक्स खोज के साथ काम करते समय मेमोरी एक आवश्यक लेकिन सीमित संसाधन है। ऐसा इसलिए है क्योंकि ल्यूसीन हर उपलब्ध मेमोरी का उपयोग करेगा। हालांकि, जब गलत तरीके से कॉन्फ़िगर किया जाता है, तो मेमोरी सेटिंग्स कम प्रदर्शन और अक्षम मेमोरी उपयोग का कारण बन सकती हैं।'

इस ट्यूटोरियल में, हम आपको Elasticsearch के साथ काम करते समय अधिकतम और न्यूनतम JVM हीप साइज कॉन्फ़िगरेशन दिखाएंगे।







आएँ शुरू करें।



हीप मेमोरी क्या है?

इलास्टिक्स खोज के संदर्भ में, हीप मेमोरी एक इलास्टिक्स खोज नोड के भीतर जावा वर्चुअल मशीन को आवंटित मेमोरी की कुल मात्रा को संदर्भित करती है।



इलास्टिसर्च डिफ़ॉल्ट रूप से बेस सिस्टम की कुल मेमोरी और नोड की भूमिका के आधार पर जेवीएम हीप साइज सेट करेगा। इसका मतलब है कि ढेर मेमोरी आकार आवंटन इस पर निर्भर करता है कि यह मास्टर नोड, डेटा, निगलना, डेटा_कोल्ड इत्यादि है या नहीं।





अधिकांश उत्पादन परिवेशों के लिए, इलास्टिक्स खोज को हीप आकार को प्रबंधित करने की अनुमति देने की अनुशंसा की जाती है और यह पर्याप्त से अधिक है।

टिप्पणी : यदि आप डॉकर में इलास्टिक्स खोज चला रहे हैं, तो कुल हीप मेमोरी डॉकटर कंटेनर के कुल आकार पर आधारित होती है न कि डॉकर के होस्ट पर।



न्यूनतम और अधिकतम ढेर आकार कॉन्फ़िगर करना

न्यूनतम और अधिकतम ढेर आकार को कॉन्फ़िगर करने के लिए, हम Xms और Xmx पैरामीटर का उपयोग कर सकते हैं। इलास्टिक्स खोज प्रोबिट्स अधिकतम मेमोरी को कुल मेमोरी के 50% से अधिक नहीं सेट कर रहे हैं। ऐसा इसलिए है क्योंकि जेवीएम हीप के अलावा, इलास्टिक्स खोज को अन्य कार्यों जैसे फाइल सिस्टम कैश, नेटवर्क संचार आदि के लिए अधिक मेमोरी की आवश्यकता होती है। इसी तरह, जेवीएम शेष 50% मेमोरी के एक हिस्से का उपयोग करेगा।

दूसरा, xms और xmx मानों को ऊप्स की दहलीज से अधिक पर सेट न करें। सुरक्षित कॉन्फ़िगरेशन के लिए, इसे कुछ सिस्टम पर 26GB या 30GB तक सीमित करें।

आप इलास्टिक्स खोज लॉग में दहलीज की जांच कर सकते हैं।

बिल्ली लोचदार खोज.लॉग | grep 'ऑब्जेक्ट पॉइंटर्स'

आपको दिखाए गए अनुसार एक प्रविष्टि देखनी चाहिए:

[2022-08-19 टी20:01:50,275] [सूचना] [o.e.e.NodeEnvironment  ] [डेबियन11] ढेर का आकार [1.9जीबी], संकुचित साधारण वस्तु संकेत [सच]
[2022-08-19 टी20:08:07,207] [सूचना] [o.e.e.NodeEnvironment  ] [डेबियन11] ढेर का आकार [1.9जीबी], संकुचित साधारण वस्तु संकेत [सच]
[2022-08-19 टी20: 36: 47,244] [सूचना] [o.e.e. NodeEnvironment  ] [डेबियन11] ढेर का आकार [1.9जीबी], संकुचित साधारण वस्तु संकेत [सच]

आप xms और xmx मानों के लिए नोड सूचना API को भी क्वेरी कर सकते हैं:

कर्ल-एक्स लोकलहोस्ट प्राप्त करें:9200/_नोड्स/_ऑल/जेवीएम?सुंदर

जैसा कि दिखाया गया है आपको एक आउटपुट देखना चाहिए:

न्यूनतम और अधिकतम ढेर आकार सेट करें

JVM हीप साइज के मानों को संशोधित करने के लिए, आपको /etc/elasticsearch/jvm.options.d निर्देशिका में एक विन्यास फाइल जोड़ने की जरूरत है। यह फ़ाइल .options एक्सटेंशन के साथ समाप्त होनी चाहिए।

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

$ sudo touch /etc/elasticsearch/jvm.options.d/heap.options

फ़ाइल संपादित करें

$ sudo nano /etc/elasticsearch/jvm.options.d/heap.options

वांछित न्यूनतम और अधिकतम हीप मेमोरी आकार जोड़ें।

उदाहरण के लिए, नीचे दी गई प्रविष्टि न्यूनतम और अधिकतम हीप आकार को 4GB पर कॉन्फ़िगर करती है।

फ़ाइल सहेजें और इलास्टिक्स खोज सेवा को पुनरारंभ करें।

निष्कर्ष

इस ट्यूटोरियल में, आपने Elasticsearch के संदर्भ में JVM हीप को सीखा कि कैसे Elasticsearch JVM हीप को कॉन्फ़िगर करता है, और आप हीप के आकार को कैसे संशोधित कर सकते हैं।

पढ़ने के लिए धन्यवाद!!