“ఎలాస్టిక్సెర్చ్తో పని చేస్తున్నప్పుడు మెమరీ అనేది ఒక ముఖ్యమైన కానీ పరిమిత వనరు. ఎందుకంటే అందుబాటులో ఉన్న ప్రతి మెమరీని లూసీన్ ఉపయోగించుకుంటుంది. అయినప్పటికీ, తప్పుగా కాన్ఫిగర్ చేయబడినప్పుడు, మెమరీ సెట్టింగ్లు తక్కువ పనితీరు మరియు అసమర్థమైన మెమరీ వినియోగానికి దారి తీయవచ్చు.
ఈ ట్యుటోరియల్లో, ఎలాస్టిక్సెర్చ్తో పని చేస్తున్నప్పుడు మేము మీకు గరిష్ట మరియు కనిష్ట JVM హీప్ సైజు కాన్ఫిగరేషన్ను చూపుతాము.
ప్రారంభిద్దాం.
హీప్ మెమరీ అంటే ఏమిటి?
ఎలాస్టిక్ సెర్చ్ సందర్భంలో, హీప్ మెమరీ అనేది ఎలాస్టిక్ సెర్చ్ నోడ్లో జావా వర్చువల్ మెషీన్కు కేటాయించిన మొత్తం మెమరీని సూచిస్తుంది.
Elasticsearch బేస్ సిస్టమ్ యొక్క మొత్తం మెమరీ మరియు నోడ్ పాత్ర ఆధారంగా JVM హీప్ పరిమాణాన్ని డిఫాల్ట్గా సెట్ చేస్తుంది. అంటే అది మాస్టర్ నోడ్, డేటా, ఇంజెస్ట్, డేటా_కోల్డ్ మొదలైన వాటిపై ఆధారపడి హీప్ మెమరీ పరిమాణం కేటాయింపు మారవచ్చు.
చాలా ఉత్పత్తి పరిసరాల కోసం, కుప్ప పరిమాణాన్ని నిర్వహించడానికి సాగే శోధనను అనుమతించడం సిఫార్సు చేయబడింది మరియు తగినంత కంటే ఎక్కువ.
గమనిక : మీరు డాకర్లో సాగే శోధనను అమలు చేస్తుంటే, మొత్తం హీప్ మెమరీ డాకర్ కంటైనర్ మొత్తం పరిమాణంపై ఆధారపడి ఉంటుంది మరియు డాకర్ హోస్ట్ కాదు.
కనిష్ట మరియు గరిష్ట హీప్ పరిమాణాన్ని కాన్ఫిగర్ చేస్తోంది
కనిష్ట మరియు గరిష్ట హీప్ పరిమాణాన్ని కాన్ఫిగర్ చేయడానికి, మేము Xms మరియు Xmx పారామితులను ఉపయోగించవచ్చు. సాగే శోధన ప్రోబిట్లు గరిష్ట మెమరీని మొత్తం మెమరీలో 50% మించకుండా సెట్ చేస్తున్నాయి. ఎందుకంటే JVM హీప్ కాకుండా, ఫైల్సిస్టమ్ కాష్, నెట్వర్క్ కమ్యూనికేషన్ మొదలైన ఇతర కార్యకలాపాల కోసం ఎలాస్టిక్సెర్చ్కు ఎక్కువ మెమరీ అవసరం. అదేవిధంగా, JVM మిగిలిన 50% మెమరీలో కొంత భాగాన్ని ఉపయోగిస్తుంది.
రెండవది, xms మరియు xmx విలువలను oops యొక్క థ్రెషోల్డ్ కంటే ఎక్కువగా సెట్ చేయవద్దు. సురక్షిత కాన్ఫిగరేషన్ కోసం, కొన్ని సిస్టమ్లలో దీన్ని 26GB లేదా 30GBకి పరిమితం చేయండి.
మీరు సాగే శోధన లాగ్లో థ్రెషోల్డ్ని తనిఖీ చేయవచ్చు.
పిల్లి elasticsearch.log | grep 'ఆబ్జెక్ట్ పాయింటర్స్'చూపిన విధంగా మీరు ఒక ఎంట్రీని చూడాలి:
[2022-08-19T20:01:50,275][INFO ][o.e.NodeEnvironment ] [debian11] హీప్ సైజు [1.9gb], కంప్రెస్డ్ సాధారణ ఆబ్జెక్ట్ పాయింటర్లు [నిజం][2022-08-19T20:08:07,207][INFO ][o.e.NodeEnvironment ] [debian11] హీప్ సైజు [1.9gb], కంప్రెస్డ్ సాధారణ ఆబ్జెక్ట్ పాయింటర్లు [నిజం]
[2022-08-19T20:36:47,244][INFO ][o.e.NodeEnvironment ] [debian11] హీప్ సైజు [1.9gb], కంప్రెస్డ్ సాధారణ ఆబ్జెక్ట్ పాయింటర్లు [నిజం]
మీరు xms మరియు xmx విలువల కోసం నోడ్స్ సమాచార APIని కూడా ప్రశ్నించవచ్చు:
కర్ల్ -X GET లోకల్ హోస్ట్:9200/_nodes/_all/jvm?prettyచూపిన విధంగా మీరు అవుట్పుట్ని చూడాలి:
కనిష్ట మరియు గరిష్ట కుప్ప పరిమాణాన్ని సెట్ చేయండి
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కి కాన్ఫిగర్ చేస్తుంది.
ఫైల్ను సేవ్ చేసి, సాగే శోధన సేవను పునఃప్రారంభించండి.
ముగింపు
ఈ ట్యుటోరియల్లో, మీరు ఎలాస్టిక్సెర్చ్ సందర్భంలో JVM హీప్ను నేర్చుకున్నారు, ఎలాస్టిక్సెర్చ్ JVM హీప్ను ఎలా కాన్ఫిగర్ చేస్తుంది మరియు మీరు హీప్ పరిమాణాన్ని ఎలా సవరించవచ్చు.
చదివినందుకు ధన్యవాదములు!!