Како користити команду вмстат на Линуку

Ваш Линук или мацОС рачунар користи виртуелну меморију. Откријте како то утиче на коришћење физичке меморије, ЦПУ-а и ресурса хард диска у вашем систему.

Шта је виртуелна меморија?

Ваш рачунар је опремљен ограниченом количином физичке меморије тзв РАМ меморија (РАМ). Овом РАМ меморијом треба да управља језгро и да се дели између оперативног система и свих апликација које се покрећу. Ако ови комбиновани захтеви захтевају више меморије него што је физички инсталирано у вашем рачунару, шта кернел може да уради?

Оперативни системи слични Линук-у и Уник-у, као што је мацОС, могу да користе простор на вашем чврстом диску како би им помогли да управљају захтевима за меморијом. Резервисано подручје чврстог диска које се зове „свап простор“ може се користити као да је проширење РАМ-а. Ово је виртуелна меморија.

Линукс језгро може да упише садржај блока меморије у простор за замену и ослободи тај регион РАМ меморије за коришћење од стране другог процеса. Замењена меморија – која се такође назива „пагинирана“ – меморија може да се преузме из простора за замену и врати у РАМ када је то потребно.

Наравно, брзина приступа меморији са страницама је спорија од брзине меморије која се налази у РАМ-у. И то није једини компромис. Док виртуелна меморија пружа начин да Линук управља својим захтевима за меморијом, коришћење виртуелне меморије повећава оптерећење на другим местима на рачунару.

Ваш чврсти диск мора да обавља више читања и писања. Кернел—а самим тим и ЦПУ—мора да ради више док замењује меморију, замењује меморију и одржава све плоче да се окрећу како би задовољиле меморијске потребе различитих процеса.

Линук вам пружа начин да надгледате све ове активности у облику команде вмстат, која извештава о томе статистика виртуелне меморије.

Команда вмстат

Ако унесете вмстат као команду без параметара, она ће вам показати скуп вредности. Ове вредности су просеци сваке статистике од последњег покретања рачунара. Ове бројке нису снимак вредности „тренутно“.

vmstat

Приказује се кратка табела вредности.

Постоје колоне са насловима Процс, Мемори, Свап, ИО, Систем и ЦПУ. Последња колона (најдеснија колона) садржи податке који се односе на ЦПУ.

Ево листе ставки података у свакој колони.

Проц

р: Број покретаних процеса. То су процеси који су покренути и који су или покренути или чекају свој следећи временски исечен низ ЦПУ циклуса.
б: Број процеса у непрекидном спавању. Процес не спава, обавља блокирајући системски позив и не може се прекинути док не заврши своју тренутну радњу. Обично је процес драјвер уређаја који чека да се неки ресурс ослободи. Сви прекиди у реду за тај процес се обрађују када процес настави своју уобичајену активност.

  13 најбољих пракси за обезбеђење микроуслуга

Меморија

свпд: количина коришћене виртуелне меморије. Другим речима, колико је меморије замењено.,
бесплатно: количина некоришћене (тренутно неискоришћене) меморије.
буфф: количина меморије која се користи као бафери.
кеш меморија: количина меморије која се користи као кеш меморија.

Свап

си: Количина виртуелне меморије која је замењена из простора за размену.
дакле: Количина виртуелне меморије замењена за замену простора.

ИО

би: Блокови примљени од блок уређаја. Број блокова података који се користе за замену виртуелне меморије назад у РАМ.
бо: Блокови послати на блок уређај. Број блокова података који се користе за замену виртуелне меморије из РАМ-а у простор за размену.

Систем

ин: Број прекида у секунди, укључујући сат.
цс: Број промена контекста у секунди. Пребацивање контекста је када кернел прелази из системског режима у обраду у корисничком режиму.

Процесори

Све ове вредности су проценти укупног времена процесора.

ус: Време проведено на извршавању кода који није језгро. Односно, колико времена се потроши на обраду времена корисника и на обраду лепог времена.
си: Време проведено у извршавању кода кернела.
ид: Време проведено у мировању.
ва: Време проведено у чекању на улаз или излаз.
ст: Време украдено са виртуелне машине. Ово је време када виртуелна машина мора да сачека да хипервизор заврши са сервисирањем других виртуелних машина пре него што може да се врати и обрати пажњу на ову виртуелну машину.

Коришћење временског интервала

Можемо да обезбедимо да вмстат редовно ажурира ове бројке користећи вредност кашњења. Вредност кашњења је дата у секундама. Да бисмо статистику ажурирали сваких пет секунди, користили бисмо следећу команду:

vmstat 5

Сваких пет секунди вмстат ће додати још једну линију података у табелу. Мораћете да притиснете Цтрл+Ц да бисте ово зауставили.

Коришћење Цоунт Валуе

Коришћење прениске вредности кашњења ће додатно оптеретити ваш систем. Ако треба да имате брза ажурирања да бисте покушали да дијагностикујете проблем, препоручује се да користите вредност бројања као и вредност кашњења.

Вредност бројања говори вмстат-у колико ажурирања треба да изврши пре него што изађе и враћа вас у командну линију. Ако не наведете вредност бројања, вмстат ће радити све док га не заустави Цтрл+Ц.

Да би вмстат обезбедио ажурирање сваких пет секунди — али само за четири ажурирања — користите следећу команду:

vmstat 5 4

Након четири ажурирања вмстат се зауставља сам од себе.

Промена јединица

Можете одабрати да се статистика меморије и размене приказује у килобајтима или мегабајтима користећи опцију -С (знак јединице). Ово мора бити праћено једним од к , К , м или М. Ово представља:

  Како преузети Снапцхат видео:

к:1000 бајтова
К: 1024 бајтова
м: 1000000 бајтова
М: 1048576 бајтова

Да би се статистика ажурирала сваких 10 секунди са статистиком меморије и размене приказаном у мегабајтима, користите следећу команду:

vmstat 10 -S M

Статистика меморије и размене је сада приказана у мегабајтима. Имајте на уму да опција -С не утиче на статистику ИО блока. Они су увек приказани у блоковима.

Активна и неактивна меморија

Ако користите опцију -а (активна), колоне буфф и кеш меморије се замењују колонама „неактиван“ и „активан“. Као што сугеришу, они показују количину неактивне и активне меморије.

Да бисте видели ове две колоне уместо колона буфф и цацхе, укључите опцију -а, као што је приказано:

vmstat 5 -a -S M

Опција -С (знак јединице) утиче на неактивне и активне колоне.

Форкс

Прекидач -ф приказује број форксова који су се десили откако је рачунар покренут.

Другим речима, ово показује број задатака који су покренути (и, за већину њих, поново затворени) од када је систем покренут. Сваки процес покренут из командне линије би повећао ову цифру. Сваки пут када задатак или процес произведе или клонира нови задатак, ова бројка ће се повећати.

vmstat -f

Дисплеј виљушки се не ажурира.

Приказ Слабинфо

Кернел има сопствено управљање меморијом о коме треба да брине, као и управљање меморијом за оперативни систем и све апликације.

Као што можете замислити, кернел додељује и ослобађа меморију изнова и изнова за многе различите типове објеката података којима мора да рукује. Да би ово био што ефикаснији, користи се систем који се зове плоче. Ово је облик кеширања.

Меморија додељена, коришћена и која више није потребна за одређени тип објекта података језгра може се поново користити за други објекат података истог типа без да се меморија ослободи и поново додели. Замислите плоче као унапред додељене, направљене по мери, сегменте РАМ-а за сопствене потребе кернела.

Да бисте видели статистику за плоче, користите опцију -м (плоче). Мораћете да користите судо и од вас ће бити затражено да унесете лозинку. Пошто резултат може бити прилично дугачак, ми га спроводимо мање.

sudo vmstat -m | less

Излаз има пет колона. Су:

Кеш: Назив кеша.
нум: Број тренутно активних објеката у овој кеш меморији.
укупно: Укупан број доступних објеката у овој кеш меморији.
величина: Величина сваког објекта у кешу.
странице: Укупан број меморијских страница које имају (најмање) један објекат тренутно повезан са овом кеш меморијом.

Притисните к да бисте оставили мање.

Приказ бројача догађаја и статистике меморије

Да бисте приказали страницу бројача догађаја и статистике меморије, користите опцију -с (статс). Имајте на уму да је то мало слово „с“.

vmstat -s

Иако су статистике које се извештавају углавном исте као и информације које чине подразумевани вмстат излаз, неке од њих су детаљније подељене.

  Касандра против МонгоДБ: Познавање разлика

На пример, подразумевани излаз комбинује и лепо и нелепо корисничко ЦПУ време у колону „ус“. Екран -с (статистика) наводи ове статистике одвојено.

Приказ статистике диска

Можете добити сличну листу статистике диска користећи опцију -д (диск).

vmstat -d | less

За сваки диск се приказују три колоне, а то су Реадс, Вритес и ИО.

ИО је крајња десна колона. Имајте на уму да се сек колона у ИО мери у секундама, али се статистика заснована на времену у колонама за читање и писање мери у милисекундама.

Ево шта колоне значе:

Чита

тотал: Укупан број читања диска.
спојено: Укупан број груписаних читања.
сектори: Укупан број сектора који су очитани.
мс: Укупан број времена у милисекундама које су коришћене за читање података са диска.

пише

укупно: Укупан број уписа на диск.
спојено: Укупан број груписаних уписа.
сектори: Укупан број сектора у које је уписано.
мс = Укупан број времена у милисекундама које су коришћене за писање података на диск.

ИО

цур: Број тренутног читања или уписивања на диск.
сец: Време потрошено у секундама за било које читање или писање у току.

Приказ збирне статистике диска

Да бисте видели брзи приказ збирне статистике за активност вашег диска, користите опцију -Д (диск-сум). Обратите пажњу на велико слово „Д“.

vmstat -D

Број дискова може изгледати ненормално висок. Рачунар који се користи за истраживање овог чланка користи Убунту. Са Убунту-ом, сваки пут када инсталирате апликацију из Снап-а, креира се скуасхфс псеудо-систем датотека који је прикључен на /дев/лооп уређај.

Узнемирујуће, многе Линук команде и услужни програми броје ове уносе уређаја као хард дискове.

Приказ статистике партиције

Да бисте видели статистику која се односи на одређену партицију, користите опцију -п (партиција) и наведите идентификатор партиције као параметар командне линије.

Овде ћемо погледати партицију сда1. Број један означава да је ово прва партиција на уређају сда, који је главни чврсти диск за овај рачунар.

vmstat -p sda1

Враћене информације показују укупан број читања и уписа диска на и са те партиције, као и број сектора укључених у радње читања и писања на диск.

Завирите испод хаубе

Увек је добро знати како да подигнете хаубу и видите шта се дешава испод. Понекад ћете покушавати да решите проблем, понекад ће то бити незаинтересовано јер желите да знате како ваш рачунар ради.

вмстат вам може пружити гомилу корисних информација. Сада знате како да му приступите и шта то значи. А унапред упозорен је и наоружан — када будете морали да засучете рукаве и урадите неку дијагностику, знаћете да имате вмстат на својој страни.