షట్టర్‌స్టాక్ / ఉండవచ్చు

ప్రాసెస్‌లు మెమరీ అయిపోయినప్పుడు లైనక్స్ చేత స్వాప్ ఫైల్ ఉపయోగించబడుతుంది. క్రాష్ కాకుండా, ఈ ప్రక్రియ డిస్క్ యొక్క కొంత భాగాన్ని ఉపయోగించవచ్చు, ఇది గణనీయంగా నెమ్మదిగా ఉంటుంది, కానీ సేవ లభ్యతను దెబ్బతీసే అనుకోకుండా మెమరీ క్రాష్లను నిరోధిస్తుంది.

స్వాప్ ఫైల్ అంటే ఏమిటి?

అలంకారిక ప్రశ్నతో ప్రారంభిద్దాం: మీ కంప్యూటర్ మెమరీ అయిపోయినప్పుడు ఏమి జరుగుతుంది?

లైనక్స్‌లో, OOM కిల్లర్ నిలిపివేయబడినా లేదా భిన్నంగా కాన్ఫిగర్ చేయబడినా తప్ప, ఒక ప్రత్యేక పర్యవేక్షణ ప్రక్రియ – OOM పర్యవేక్షణ / కిల్లర్ ప్రాసెస్ – సిస్టమ్ మెమరీ అయిపోతుందో లేదో పర్యవేక్షిస్తుంది.

ఇది జరిగినప్పుడు, ఈ ప్రక్రియ మెమరీని ఖాళీ చేయడానికి సిస్టమ్‌లో నడుస్తున్న ప్రాసెస్‌లలో ఒకదాన్ని ముగుస్తుంది. ఇది డేటా అవినీతి లేదా అందుబాటులో లేని సేవలు వంటి బాధాకరమైన ఫలితాలకు దారితీస్తుంది. OOM అనే ఎక్రోనిం అంటే “అవుట్ ఆఫ్ మెమరీ”

ఒక పరిష్కారం అదనపు మెమరీని కొనడం లేదా కంప్యూటర్ లేదా సర్వర్‌లో ఒకేసారి నడుస్తున్న ప్రోగ్రామ్‌లు లేదా సేవల సంఖ్యను తగ్గించడం. కానీ మన (సాధారణంగా చౌకైన) డిస్క్ స్థలాన్ని “అదనపు మెమరీ” గా ఎలా ఉపయోగించగలం?

స్వాప్ ఫైల్ అంటే ఇదే మరియు చేస్తుంది: మీ నిల్వ పరికరంలో సృష్టించబడిన ప్రత్యేక ఫైల్ మీ ప్రధాన మెమరీలో భాగం అవుతుంది. ప్రత్యక్షంగా కాదు మరియు ప్రాసెసింగ్ ఓవర్ హెడ్ ఉంది, కానీ పరోక్షంగా మరియు ప్రాసెసింగ్ వేగంపై గుర్తించదగిన ప్రభావంతో.

స్వాప్ ఫైల్ యొక్క ప్రయోజనాలు మరియు అప్రయోజనాలు

నెమ్మదిగా ఉండే డిస్క్‌లతో పోలిస్తే మెయిన్ మెమరీ సాధారణంగా అల్ట్రా ఫాస్ట్. SSD లు (సాలిడ్ స్టేట్ డ్రైవ్‌లు) హై స్పీడ్ మెయిన్ మెమరీ చిప్‌ల కంటే ఎల్లప్పుడూ నెమ్మదిగా ఉంటాయి. HDD ల కోసం (మెకానికల్, రొటేటింగ్, సాంప్రదాయ హార్డ్ డ్రైవ్‌లు) వేగం వ్యత్యాసం మరింత ఎక్కువ.

అందువల్ల చాలా కాన్ఫిగరేషన్లలో, నెమ్మదిగా ఉన్న డిస్క్ (SDD మరియు ముఖ్యంగా HDD) ను మెమరీ మూలంగా ఉపయోగించడం ఒక ప్రత్యేకమైన ప్రయోజనం. ప్రధాన మెమరీ మరియు డిస్క్ మధ్య డేటాను ముందుకు వెనుకకు వ్రాయడం ఆలస్యం (అనగా డిస్క్‌ను మెమరీగా ఉపయోగించడం) ను ‘స్వాప్’ అంటారు (డిస్క్ స్థలంతో మెమరీని మార్చుకోవడం)

మీ సిస్టమ్‌లో సహేతుకమైన సైడ్ స్వాప్ ఫైల్‌ను కలిగి ఉండటం ఎల్లప్పుడూ మంచి ఆలోచన. కారణం సులభం; మా సిస్టమ్ OOM కిల్లర్‌ను పిలవలేదని మరియు కొన్ని ప్రక్రియలను ముగించదని నిర్ధారించుకోవడానికి మాకు కొన్ని నిమిషాల పాటు 1 అదనపు గిగాబైట్ మెమరీ మాత్రమే అవసరమని చెప్పండి. ఈ సందర్భంలో ఒక స్వాప్ ఫైల్ మంచిది, ఎందుకంటే ఒక ప్రాసెస్ ఉపయోగపడే RAM నుండి అయిపోయినప్పటికీ, అది క్రాష్ అవ్వదు, అది తన పనిని పూర్తి చేసే వరకు కొంతకాలం నెమ్మదిగా నడుస్తుంది.

అయినప్పటికీ, సిస్టమ్ భారీగా వర్తకం ప్రారంభిస్తే, అది ఖచ్చితంగా నెమ్మదిగా వస్తుంది (చదవండి: చాలా నెమ్మదిగా). ఇది చాలా స్పష్టంగా కనిపిస్తుంది.

సారాంశంలో, ఒక సూక్ష్మ మరియు సున్నితమైన సమతుల్యత ఉంది, ఇది కొంతవరకు ఏకపక్షంగా ఉంటుంది మరియు ఇచ్చిన పరిస్థితిలో అనేక విభిన్న విషయాలపై ఆధారపడి ఉంటుంది; సిస్టమ్‌లో నడుస్తున్న ప్రక్రియల సంఖ్య మరియు వాటి మెమరీ పరిమాణం, ఉపయోగంలో ఉన్న మొత్తం మెమరీ, స్వాప్ ఫైల్‌లో లభించే మెమరీ, సిస్టమ్ స్వాప్ ఫైల్ యొక్క నిర్దిష్ట కాన్ఫిగరేషన్ మొదలైనవి.

స్వాప్ ఫైళ్ళపై కొన్ని పరిశీలనలు

ఈ రోజు ప్రపంచంలోని అనేక లైనక్స్ కాన్ఫిగరేషన్లలో, సిస్టమ్‌లోని డిస్కుల్లో ఒకదానిపై స్వాప్ విభజన కేటాయించబడింది. ఇది ఒక ప్రత్యేక ప్రాంతం, సాధారణంగా (కానీ ప్రత్యేకంగా కాదు; తరువాత జోడించవచ్చు) Linux ఆపరేటింగ్ సిస్టమ్ యొక్క సంస్థాపన సమయంలో రిజర్వు చేయబడింది. ఇది అదే టార్గెట్ కార్యాచరణను కలిగి ఉంది, ఇది స్వాప్ ఫైల్ వలె ఉంటుంది. మీ సిస్టమ్ ప్రస్తుతం ఎనేబుల్ చేసిన ట్రేడింగ్‌ను కలిగి ఉందో లేదో తనిఖీ చేయడానికి, మీ టెర్మినల్‌లో కింది వాటిని అమలు చేయండి:

sudo apt -y install htop
htop

మరియు కింది అవుట్పుట్ను కనుగొనండి:

ప్రధాన మెమరీ మరియు స్వాప్ స్థలం యొక్క htop అవుట్పుట్

ఈ సిస్టమ్‌లో 62.7 జి మెయిన్ మెమరీ మరియు 11.0 జి స్వాప్ స్పేస్ ఎలా ఉన్నాయో గమనించండి. ప్రస్తుతం కొద్ది మొత్తంలో (23.5 మిలియన్లు) మాత్రమే వాడుకలో ఉన్నట్లు మీరు చూడవచ్చు. మీ సిస్టమ్ మారుతున్నట్లు మీరు అనుమానించినట్లయితే, ఈ రెండు కౌంటర్లు ఎలా ఉన్నాయో తనిఖీ చేయండి.

అవి రెండూ దాదాపుగా నిండి ఉంటే, వ్యవస్థ భారీగా వర్తకం చేసే అవకాశం ఉంది మరియు చాలా నెమ్మదిగా నడుస్తుంది. కారణం, ఇప్పుడు భారీ I / O లోడ్ (అనగా డిస్క్-సంబంధిత) ఉంది, డిస్క్-ఆధారిత మెమరీతో ప్రధాన మెమరీని నిరంతరం మార్చుకుంటుంది.

సాధారణ నియమం ప్రకారం, కొంతమంది స్వాప్ ఫైల్‌కు కేటాయించడానికి సిస్టమ్ మెమరీలో కొంత శాతాన్ని పరిమాణంగా ఉపయోగించడానికి ఇష్టపడతారు. వ్యక్తిగతంగా నేను మరొక మార్గాన్ని తీసుకుంటాను, మరియు నాకు ఎంత అదనపు మెమరీ అవసరమో పరిగణించాలి. పరిమాణం గణనీయంగా ఉంటే, ఉదాహరణకు 8GB ఉన్న సర్వర్ ఒక నిర్దిష్ట వినియోగ కేసు కోసం 14GB ని ఉపయోగించుకుంటుంది, అప్పుడు సర్వర్ మెమరీని 8GB నుండి 16GB కి పెంచడం చాలా ఎక్కువ అర్ధమే.

అయినప్పటికీ, సిస్టమ్ 8GB కలిగి ఉంటే మరియు సాధారణ వినియోగం 6-7GB అప్పుడప్పుడు స్పైక్‌తో ఉంటే, నేను ఒకేసారి చాలా ప్రోగ్రామ్‌లను ప్రారంభిస్తే, నేను అదనపు 8GB స్వాప్ స్థలాన్ని లేదా కొంచెం ఎక్కువ పరిగణించవచ్చు. డిస్క్ స్థలం సాధారణంగా చాలా చౌకగా ఉంటుంది, కాబట్టి దాన్ని కొంచెం తగ్గించండి, మీకు స్థలం ఉంటే, బాధపడదు.

స్వాప్ ఫైల్‌ను ఎలా ప్రారంభించాలి

స్వాప్ ఫైల్‌ను జోడించడానికి సిద్ధంగా ఉన్నారా? ఇది ఎగిరి చేయవచ్చు. ఈ పద్ధతి డెబియన్ (ఉబుంటు, పుదీనా, …) మరియు రెడ్‌హాట్ (రెడ్‌హాట్, సెంటోస్, …) ఆధారిత వ్యవస్థలపై పని చేస్తుంది.

ఈ ఉదాహరణలో మేము 1 గిగాబైట్, లేదా 1000 మెగాబైట్ లేదా 1024000 బ్లాక్స్ స్వాప్ ఫైల్ (మెగాబైట్ల సంఖ్య x 1024 గా లెక్కించబడుతుంది) సృష్టిస్తాము.

మేము దీనిని రూట్ (/) డైరెక్టరీలో ఉన్న స్వాప్‌ఫైల్ 123 అని పిలుస్తాము మరియు మీరు ఇప్పటికే దాని స్థానంలో ఉన్న ఏదైనా ఫైల్‌లను ఓవర్రైట్ చేయకుండా ఉండటానికి మేము ఆ పేరు పెట్టాము. మీకు / స్వాప్‌ఫైల్ అనే ఫైళ్లు లేవని మీకు ఖచ్చితంగా తెలిస్తే, మీరు కోరుకుంటే బదులుగా దాన్ని ఉపయోగించవచ్చు, ప్రతి ప్రదేశంలో ఫైల్ పేరును సరిగ్గా మార్చడానికి జాగ్రత్తలు తీసుకుంటారు.

మీరు అన్ని ఆదేశాలను, ముఖ్యంగా ఫైల్‌ను టైప్ చేశారని నిర్ధారించుకోండి dd మీ సిస్టమ్‌లోని ఏ డేటాను ఓవర్రైట్ చేయకుండా జాగ్రత్తతో ఆదేశించండి. మేము వాడతాం sudo su ద్వారా సూపర్‌యూజర్ (సు) మోడ్‌ను యాక్సెస్ చేయడానికి sudo. ఇది ప్రతి ఆదేశాన్ని ఉపయోగించి అమలు చేయడానికి చాలా పోలి ఉంటుంది sudo, ఈ పద్ధతిని ఉపయోగించి సుడో కమాండ్ యొక్క ప్రతి ఉపసర్గను టైప్ చేయకపోవడం సులభం.

sudo su
if [ -r /swapfile123 ]; then echo "Stop please! /swapfile123 already exists!"; fi
dd if=/dev/zero of=/swapfile123 bs=1024 count=1024000
chmod 0600 /swapfile123
mkswap /swapfile123
swapon /swapfile123

మీరు కింది వాటికి సమానమైన అవుట్‌పుట్‌ను చూడాలి:

Linux లో స్వాప్ ఫైళ్ళను ప్రారంభిస్తోంది

అలా అయితే, అభినందనలు! మీరు మీ మొదటి స్వాప్ ఫైల్‌ను డైనమిక్‌గా (ఫ్లైలో), Linux కమాండ్ లైన్ నుండి ప్రారంభించారు!

మొదట మేము ఫైల్ను ఉపయోగించాము dd ఉపయోగించి, మా స్వాప్‌స్పేస్‌ను సృష్టించే సాధనం /dev/zero పరికరం (పిలిచినప్పుడు సున్నా మాత్రమే విడుదల చేసే వర్చువల్ పరికరం dd లేదా ఏదైనా ఇతర సాధనం). తరువాత మేము కొన్ని తగిన భద్రతా అధికారాలను ఏర్పాటు చేసాము.

పొడిగింపును ఉపయోగించి ఫైల్ను స్వాప్ ఫైల్‌గా సృష్టించాలని మేము ఆపరేటింగ్ సిస్టమ్‌కు సూచించాము mkswap ఆదేశం. చివరకు మా సిస్టమ్‌ను రీబూట్ చేయకుండా, కమాండ్ లైన్ నుండి డైనమిక్‌గా స్వాప్‌స్పేస్‌ను యాక్టివేట్ చేసాము.

మా స్వాప్ స్థలం పెద్దదిగా ఉందా అని కూడా మేము సులభంగా తనిఖీ చేయవచ్చు free -m:

ఫ్రీ -ఎమ్ మేము ఆఫ్ చేసినప్పుడు స్వాప్ స్థలం ఎలా తగ్గుతుందో చూపిస్తుంది

గొప్పది, మేము కొత్తగా సృష్టించిన స్వాప్ ఫైల్‌ను నిష్క్రియం చేసినప్పుడు మేము 12215M నుండి 11215M (-1000M expected హించిన విధంగా) కు ఎలా వెళ్ళామో మీరు చూడవచ్చు. మేము దీన్ని ఎలా ఉపయోగించామో కూడా మీరు చూడవచ్చు swapoff కమాండ్ లైన్ నుండి ఇచ్చిపుచ్చుకోవడాన్ని డైనమిక్‌గా నిలిపివేయడానికి.

మన సిస్టమ్ మెమరీ సమస్యల్లోకి రావడాన్ని మనం ఎప్పుడైనా చూస్తే మరియు తగినంత వేగంగా టైప్ చేయగలిగితే, మేము దానిని ఫ్లైలో అదనపు మెమరీని ఇవ్వగలము 🙂 ప్రాథమికంగా, సమస్యలు సంభవించే ముందు దీన్ని చేయడం మంచిది.

ఇప్పుడు మనకు పరిష్కరించడానికి ఒక చిన్న సమస్య మాత్రమే ఉంది. మేము ఈ సమయంలో రీబూట్ చేస్తే, మా స్వాప్ ఫైల్ డిస్క్‌లోనే ఉంటుంది, సిస్టమ్ దాన్ని ఉపయోగించదు. సెట్టింగులలో ఇప్పటివరకు ఎటువంటి మార్పులు చేయబడలేదు, ఇది సిస్టమ్ పున ar ప్రారంభించినప్పుడు స్వాప్‌స్పేస్ మళ్లీ లోడ్ అవుతుందని నిర్ధారిస్తుంది.

ప్రారంభంలో మా క్రొత్త మార్పిడిని ప్రారంభిస్తోంది

ప్రారంభంలో క్రొత్త స్వాప్ స్థలాన్ని ప్రారంభించడానికి, కింది పంక్తిని (ఒక పంక్తిగా) / etc / fstab కు జోడించండి:

/swapfile123  swap  swap  defaults  0  0

మీరు లోపల ఉన్నప్పుడు దీన్ని చేయవచ్చు sudo su మోడ్ (మొదటి అక్షరాల ద్వారా సూచించబడుతుంది #) / etc / fstab కోసం నానో ఎడిటర్‌ను ప్రారంభించడం ద్వారా:

nano /etc/fstab
cat /etc/fstab

అప్పుడు పైభాగంలో ఉన్న పంక్తిని చివర ఫైల్‌కు జోడించి సేవ్ చేయండి (CTRL + X> Y> ఎంటర్). సిస్టమ్ సరిగా బూట్ అవ్వకుండా నిరోధించే అవకాశం ఉన్నందున ఇతర పంక్తులను మార్చవద్దు లేదా తొలగించవద్దు. ఫైల్‌ను అమలు చేయడం ద్వారా రీబూట్ చేయడానికి ముందు మీ / etc / fstab ఫైల్‌లోని విషయాలను రెండుసార్లు తనిఖీ చేయండి cat /etc/fstab పైన.

మీరు ఇప్పుడు మీ సిస్టమ్‌ను రీబూట్ చేయవచ్చు మరియు అదనపు స్వాప్ స్థలం ఇప్పటికీ అందుబాటులో ఉందని నిర్ధారించవచ్చు free -m ఇంకా.

మా క్రొత్త స్వాప్ స్థలాన్ని తొలగిస్తోంది

మీరు క్రొత్త స్వాప్ స్థలాన్ని తొలగించాలనుకుంటే, లేదా కొంచెం పెద్దదాన్ని సృష్టించాలనుకుంటే, మీరు మొదట / etc / fstab ఫైల్‌ను సవరించడం ద్వారా మరియు స్వాప్ ఫైల్‌ను పూర్తిగా లోడ్ చేసే పంక్తిని తొలగించడం ద్వారా చేయవచ్చు. సిస్టమ్ సరిగ్గా బూట్ అవ్వకుండా నిరోధించే అవకాశం ఉన్నందున ఇతర పంక్తులను మార్చవద్దు లేదా తొలగించవద్దు! అందువల్ల ప్రదర్శించడం సాధ్యమే:

sudo swapoff /swapfile123
rm /swapfile123

అన్నీ పూర్తయ్యాయి! ఈ మార్పు డైనమిక్‌గా చేయబడినందున మీరు రీబూట్ చేయవలసిన అవసరం కూడా లేదు. తదుపరి రీబూట్లో, మేము / etc / fstab ఫైల్ నుండి సంబంధిత పంక్తిని తీసివేసినందున స్వాప్ ఫైల్ ఇకపై సక్రియం చేయబడదు.

స్వాప్ ఫైళ్ళతో ఆనందించండి!

Source link