ముందస్తు అవసరాలు:
ఈ గైడ్లో ప్రదర్శించబడిన దశలను నిర్వహించడానికి, మీకు ఈ క్రింది భాగాలు అవసరం:
- సరిగ్గా కాన్ఫిగర్ చేయబడిన Linux సిస్టమ్. పరీక్ష ప్రయోజనాల కోసం, Linux VMని ఉపయోగించడాన్ని పరిగణించండి .
- a కి యాక్సెస్ సుడో ప్రత్యేక హక్కుతో రూట్ కాని వినియోగదారు
- కమాండ్-లైన్ ఇంటర్ఫేస్ యొక్క ప్రాథమిక అవగాహన
Linuxలో వర్చువల్ మెమరీ
ఫిజికల్ మెమరీ, RAM అని కూడా పిలుస్తారు, ఇది మొత్తంలో పరిమితమైనది. నడుస్తున్న అన్ని ప్రోగ్రామ్లకు ఈ స్థలాన్ని పంపిణీ చేయడానికి కెర్నల్ బాధ్యత వహిస్తుంది. అన్ని రన్నింగ్ ప్రోగ్రామ్లు (OSతో సహా) RAMలో ఉంటాయి.
అయినప్పటికీ, మెమరీకి డిమాండ్ దాని అందుబాటులో ఉన్న మెమరీ కంటే ఎక్కువగా ఉంటే, అది కేవలం సిస్టమ్ను క్రాష్ చేస్తుంది (లేదా ప్రోగ్రామ్ ఎక్కువ మెమరీ స్థలాన్ని అడుగుతుంది). చాలా సందర్భాలలో, ఇది అవాంఛనీయ ఫలితం. ఇక్కడే వర్చువల్ మెమరీ వస్తుంది.
వర్చువల్ మెమరీ అనేది మీ HDD/SSDలో ప్రత్యేకమైన డిస్క్ స్థలాన్ని సూచిస్తుంది, ఇది విపత్కర పరిస్థితుల్లో అదనపు మెమరీగా పని చేస్తుంది. ఇది RAM స్పేస్గా పని చేస్తున్నందున (కానీ నిజంగా కాదు), ఇది 'వర్చువల్' గా పరిగణించబడుతుంది. UNIX/Linux సిస్టమ్స్లో, ఈ ఖాళీలను స్వాప్ స్పేస్లుగా సూచిస్తారు.
Linux కెర్నల్ మెమరీ బ్లాక్లను స్వాప్ స్పేస్లోకి తరలిస్తుంది మరియు అవసరమైనప్పుడు వాటిని RAMకి తిరిగి పొందుతుంది.
వర్చువల్ మెమరీ యొక్క పనితీరు భౌతిక మెమరీ కంటే ఖచ్చితంగా నెమ్మదిగా ఉంటుంది మరియు నిల్వ పరికరం యొక్క పనితీరుకు నేరుగా అనులోమానుపాతంలో ఉంటుంది. అయితే, నిర్దిష్ట హార్డ్వేర్ కాన్ఫిగరేషన్లలో (ఉదాహరణకు NVMe SSDని ఉపయోగించి), పనితీరు RAMకి సమానంగా ఉండవచ్చు.
Vmstat కమాండ్
“vmstat” కమాండ్ అనేది వర్చువల్ మెమరీ గురించి వివిధ సమాచారాన్ని నివేదించే పర్యవేక్షణ సాధనం. ఇది 'sysstat' ప్యాకేజీలో భాగంగా అన్ని Linux సిస్టమ్లలో అందుబాటులో ఉంది.
'vmstat' యొక్క కమాండ్ నిర్మాణం క్రింది విధంగా ఉంది:
$ vmstat < ఎంపికలు > < ఆలస్యం > < లెక్కించండి >ప్రాథమిక వినియోగం
ఇది ఏ పరామితి లేకుండా అమలు చేయబడితే, చివరి బూట్ నుండి సిస్టమ్ సమాచారాన్ని “vmstat” ముద్రిస్తుంది:
$ vmstat
అవుట్పుట్ ఆరు విభాగాలలో అమర్చబడింది:
- ప్రక్రియలు : ప్రస్తుతం అమలవుతున్న ప్రక్రియల గణాంకాలు
- ఆర్ : క్రియాశీల ప్రక్రియల సంఖ్య
- బి : నిద్ర ప్రక్రియల సంఖ్య
- జ్ఞాపకశక్తి : మెమరీ వినియోగంపై గణాంకాలు
- swpd : వర్చువల్ మెమరీ మొత్తం (స్వాప్ స్పేస్)
- ఉచిత : అందుబాటులో ఉన్న స్వాప్ స్పేస్
- యెదురు : తాత్కాలిక బఫర్ మెమరీగా ఉపయోగించబడుతున్న స్వాప్ స్థలం మొత్తం
- కాష్ : మొత్తం కాష్ మెమరీ
- మార్పిడి : స్వాప్ స్పేస్ గురించి గణాంకాలు
- అవును : మార్పిడి రేటు
- కాబట్టి : మార్పిడి రేటు
- ఇది : I/O గణాంకాలు
- a తో : బ్లాక్ పరికరం(ల) నుండి అందుకున్న బ్లాక్ల సంఖ్య
- ఉంటుంది : పరికరం(ల)ని నిరోధించడానికి పంపిన బ్లాక్ల సంఖ్య
- వ్యవస్థ : షెడ్యూల్పై గణాంకాలు
- లో : సిస్టమ్ అంతరాయాల సంఖ్య
- cs : సందర్భ స్విచ్ల రేటు
- cpu : వివిధ CPU గణాంకాలు
- మాకు : నాన్-కెర్నల్ ప్రక్రియలపై CPU సమయాన్ని వెచ్చిస్తోంది
- మరియు : CPU కెర్నల్ ప్రక్రియలపై సమయాన్ని వెచ్చిస్తోంది
- id : CPU నిష్క్రియంగా సమయం గడుపుతోంది
- యొక్క : I/O ఆపరేషన్లు పూర్తయ్యే వరకు వేచి ఉన్న CPU సమయాన్ని వెచ్చిస్తోంది
- సెయింట్ : వర్చువల్ మెషీన్ ఉపయోగించే CPU సమయం
డిస్ప్లే యూనిట్ని మార్చడం
డిఫాల్ట్గా, “vmstat” మెమరీ విలువలను కిలోబైట్లలో నివేదిస్తుంది. యూనిట్ని మార్చడానికి, 'ని ఉపయోగించండి -ఎస్ ' జెండా:
$ vmstat -ఎస్ < వాదన >
ఇక్కడ, “vmstat” విలువలను మెగాబైట్లలో ముద్రిస్తుంది.
అనేక మెమరీ యూనిట్లు అందుబాటులో ఉన్నాయి:
- ఎం : 1048576 బైట్లు (2^20 బైట్)
- m : 1000000 బైట్లు (1000 కిలోబైట్)
- కె : 1024 బైట్లు (1 మెగాబైట్)
- కె : 1000 బైట్లు (1 కిలోబైట్)
నిరంతర గణాంకాల నవీకరణ
డిఫాల్ట్గా, “vmstat” నివేదికను ఒకసారి ప్రింట్ చేస్తుంది. అయినప్పటికీ, నిర్దిష్ట సమయ వ్యవధిలో (సెకన్లలో) నిరంతర నివేదికలను అందించమని మేము “vmstat”కి సూచించవచ్చు.
కమాండ్ నిర్మాణం క్రింది విధంగా ఉంది:
$ vmstat < ఆలస్యం >ఉదాహరణకు, ప్రతి 2 సెకన్లకు నవీకరించబడిన గణాంకాలను పొందడానికి, ఆదేశం క్రింది విధంగా ఉంటుంది:
$ vmstat 2
'Ctrl + C'ని ఉపయోగించి మాన్యువల్గా ముగించకపోతే అవుట్పుట్ ఆగదు.
ప్రత్యామ్నాయంగా, మేము నిర్దిష్ట సంఖ్యలో గణాంకాలను అందించడానికి “vmstat”ని పేర్కొనవచ్చు:
$ vmstat < ఆలస్యం > < లెక్కించండి >ఉదాహరణకు, నవీకరించబడిన గణాంకాలను ప్రతి 2 సెకన్లకు 5 సార్లు పొందడానికి, ఆదేశం ఇలా కనిపిస్తుంది:
$ vmstat 2 5
యాక్టివ్ మరియు నిష్క్రియ మెమరీ
యాక్టివ్ మెమరీ అనేది ప్రస్తుతం ప్రాసెస్ ద్వారా ఉపయోగించబడుతున్న మెమరీ స్థలాన్ని సూచిస్తుంది. మరోవైపు, నిష్క్రియ మెమరీ అనేది ఇకపై అమలులో లేని ప్రక్రియకు కేటాయించబడిన మెమరీ స్థలాన్ని సూచిస్తుంది.
“vmstat”ని ఉపయోగించి, మేము ఉపయోగించబడుతున్న సక్రియ మరియు నిష్క్రియ జ్ఞాపకాల మొత్తాన్ని తనిఖీ చేయవచ్చు:
$ vmstat -ఎ
ఇక్కడ, 'బఫ్' మరియు 'కాష్' నిలువు వరుసలు వరుసగా 'క్రియారహితం' మరియు 'యాక్టివ్' నిలువు వరుసలతో భర్తీ చేయబడతాయి.
మెమరీ మరియు షెడ్యూలింగ్
మెమరీ మరియు షెడ్యూలింగ్పై మరింత వివరణాత్మక నివేదికను పొందడానికి, కింది ఆదేశాన్ని ఉపయోగించండి:
$ vmstat -లు
ఇక్కడ:
- విభాగం 1: ఈ విభాగం టోటల్ ఫిజికల్ మెమరీ, యాక్టివ్/ఇనాక్టివ్ మెమరీ, ఫ్రీ/బఫర్/కాష్ మెమరీ మొదలైన ప్రాథమిక సిస్టమ్ సమాచారంతో వ్యవహరిస్తుంది.
- విభాగం 2: వివిధ CPU గణాంకాలు
- నాన్-నైస్ CPU టిక్లు : అధిక ప్రాధాన్యత గల ప్రక్రియలు CPUని ఎన్ని సార్లు ఉపయోగించాయి.
- మంచి CPU టిక్లు : CPUని ఉపయోగించిన తక్కువ ప్రాధాన్యత ప్రక్రియల సంఖ్య.
- సిస్టమ్ CPU టిక్లు : CPUని కెర్నల్ ప్రాసెస్ చేసిన సార్లు.
- నిష్క్రియ CPU టిక్లు : CPU ఎన్నిసార్లు నిష్క్రియంగా ఉంది.
- IO-వెయిట్ CPU టిక్లు : I/O నిర్వహణ కోసం CPU ఎన్నిసార్లు వేచి ఉంది.
- IRQ : CPU ఎన్నిసార్లు అంతరాయ అభ్యర్థనలను స్వీకరించింది.
- softirq : CPU సాఫ్ట్వేర్ అంతరాయ అభ్యర్థనలను ఎన్నిసార్లు స్వీకరించింది.
- దొంగిలించబడిన CPU టిక్లు : VMలు CPU సమయాన్ని ఎన్నిసార్లు దొంగిలించాయి.
- విభాగం 3: మెమరీ పేజింగ్ గణాంకాలు
- విభాగం 4: ఈవెంట్ కౌంటర్లు
బూట్ నుండి ఫోర్క్స్
ఫోర్కులు ఇప్పటికే ఉన్న ప్రక్రియల ద్వారా పుట్టుకొచ్చిన ప్రక్రియలను సూచిస్తాయి. ఫోర్క్ గణనలపై గణాంకాలను పొందడానికి, కింది ఆదేశాన్ని అమలు చేయండి:
$ vmstat -ఎఫ్
డిస్క్ మరియు విభజన గణాంకాలు
“vmstat” ఆదేశం డిస్క్ కార్యాచరణ గురించి సమాచారాన్ని కూడా అందిస్తుంది. డిస్క్ కార్యాచరణ యొక్క శీఘ్ర సారాంశాన్ని పొందడానికి, కింది ఆదేశాన్ని అమలు చేయండి:
$ vmstat -డి
మరింత వివరణాత్మక డిస్క్ కార్యాచరణ నివేదికను పొందడానికి (చదవడానికి/వ్రాయడానికి గణాంకాలతో సహా), బదులుగా కింది ఆదేశాన్ని ఉపయోగించండి:
$ vmstat -డి
ఇక్కడ:
- చదువుతాడు
- మొత్తం : మొత్తం డిస్క్ రీడ్ కౌంట్
- విలీనం చేయబడింది : మొత్తం గ్రూప్ రీడ్ల సంఖ్య
- రంగాలు : చదివిన రంగాల మొత్తం సంఖ్య
- కుమారి : డిస్క్ నుండి డేటాను చదవడానికి మొత్తం సమయం (మిల్లీసెకన్లలో)
- వ్రాస్తాడు
- మొత్తం : మొత్తం డిస్క్ రైట్ కౌంట్
- విలీనం చేయబడింది : మొత్తం గుంపు వ్రాసిన గణన
- రంగాలు : వ్రాసిన రంగాల మొత్తం సంఖ్య
- కుమారి : డిస్క్కి వ్రాయడానికి మొత్తం సమయం (మిల్లీసెకన్లలో)
- IO
- చాలు : మొత్తం ప్రస్తుత డిస్క్ చదవడం/వ్రాయడం
- సెకను : కొనసాగుతున్న రీడ్/రైట్స్ ఆపరేషన్లో గడిపిన సమయం (సెకన్లలో)
“vmstat” కమాండ్ నిర్దిష్ట డిస్క్ విభజన కోసం నివేదికలను కూడా రూపొందించగలదు. విభజన నివేదికను పొందడానికి, కింది ఆదేశ నిర్మాణాన్ని ఉపయోగించండి:
$ vmstat -p < విభజన_ఐడెంటిఫైయర్ >
స్లాబ్ గణాంకాలు
స్లాబ్ కేటాయింపు అనేది వస్తువుల మెమరీ కేటాయింపు కోసం సమర్థవంతమైన మెకానిజంగా రూపొందించబడింది. మునుపటి మెకానిజమ్లతో పోలిస్తే, స్లాబ్ కేటాయింపు మెమరీ ఫ్రాగ్మెంటేషన్ను తగ్గించడాన్ని అందిస్తుంది (మెమొరీ కేటాయింపు మరియు డీలాకేషన్ కారణంగా).
సిస్టమ్ యొక్క స్లాబ్ గణాంకాలను తనిఖీ చేయడానికి, కింది “vmstat” ఆదేశాన్ని ఉపయోగించండి:
$ సుడో vmstat -మీ
గణాంకాలను వీక్షించడానికి దీనికి రూట్ అనుమతి అవసరమని గమనించండి.
ఇక్కడ:
- కాష్ : కాష్ చేయబడిన డేటా పేరు
- ఒకదానిపై : Num కాష్లో సక్రియంగా ఉన్న ఆబ్జెక్ట్ల సంఖ్య
- మొత్తం : నిర్దిష్ట కాష్లోని వస్తువుల మొత్తం గణన
- పరిమాణం : కాష్ చేయబడిన వస్తువుల పరిమాణం
- పేజీలు : కాష్ చేయబడిన వస్తువులను కలిగి ఉన్న మెమరీ పేజీల సంఖ్య
ముగింపు
ఈ గైడ్లో, మేము “vmstat” ఆదేశాన్ని ఉపయోగించే వివిధ మార్గాలను ప్రదర్శించాము. వర్చువల్ మెమరీతో పాటు, “vmstat” డిస్క్ గణాంకాలు, ఫోర్కులు, స్లాబ్లు మరియు మరిన్నింటిపై కూడా నివేదించవచ్చు.
ఇతర సిస్టమ్ మానిటరింగ్ సాధనాల గురించి తెలుసుకోవడానికి ఆసక్తి ఉందా? గురించి మరింత తెలుసుకోవడానికి htop , చంపేస్తాయి , ps , మొదలైనవి
హ్యాపీ కంప్యూటింగ్!