Мониторингът на натоварването е една от най-важните задачи, особено ако имате работа със сървъри. Това не само ви дава представа как се използват ресурсите на вашата система, но също така ви помага да диагностицирате проблеми, свързани с ефективността. В тази статия ще обсъдим как да извършваме мониторинг на натоварването в Linux, като използваме инструмента на върха.

Забележка : всички примери, използвани в статията, се тестват на Ubuntu 14.04.

на върха

Според неговата страница, инструментът за команден ред на atop е интерактивен монитор, за да видите натоварването на Linux система. Той показва как хардуерните ресурси на вашата система, включително процесора, паметта, диска и мрежата, са заети, всички от гледна точка на производителността. Не само това, но също така показва кои процеси са отговорни за посочения товар.

Забележка : Натоварването на диска се показва, ако за ядрото е активиран процесът "счетоводство за съхранение" или ако е инсталиран кръпка "cnt" на ядрото. По същия начин, натоварването на мрежата се показва само за всеки процес, ако е инсталирано "cnt" ядрото.

Изтегляне и инсталиране

Потребителите на базирани на Debian системи (като Mint и Ubuntu) могат да изтеглят и инсталират инструмента, като използват следната команда:

 sudo apt-get се инсталира на върха 

Тези, които са на други дистрибуции на Linux, могат да използват съответните си инструменти за управление на пакети. Например, yum в случай на Red Hat. Можете също да изтеглите инструмента от официалния му уебсайт.

Изход на върха

След инсталирането можете да изпълните инструмента, като изпълните командата от командния ред:

 sudo на върха 

Ето извадката:

Както можете да видите, това е много информация, която в общи линии е разделена на две части: ниво на системата и ниво процес. Първият се състои от следните изходни линии:

PRC : Този ред съдържа общото време на процесор, изразходвано в системен режим ("sys") и потребителски режим ("потребител"), общия брой процеси в момента ("#proc" в този момент в състоянието "running" ("#trun"), "sleeping interruptible" ("#tslpi") и "sleeping un-interruptible" ("#tslpu"), броят на зомби процесите ('zombie ', броят на обажданията в клоновата система ("клонове") и броя на процесите, приключили през интервала ("#exit", който показва "?", ако не се използва процесът на отчитане).

CPU : Този ред съдържа процента от времето на процесора, прекарано в режим на ядро ​​от всички активни процеси ("sys") в потребителски режим ("потребител") за всички активни процеси (включително процеси с хубава стойност, по-голяма от нула) прекъсване на обработката ("irq"), включително softirq, както и процентът на неизползваните cpu време, докато процеси не чакаха диск-I / O ("idle") и докато поне един процес чакаше диск I / 'изчакайте'). В случай на многопроцесорна система, се показва допълнителен ред за всеки отделен процесор (с "CPU" с малки букви), сортирани по активност.

CPL : Този ред съдържа информация за натоварването на процесора - броят на темите, които са налични за изпълнение на CPU (т.е. част от runqueue) или които чакат I / O на диска, броя на контекстните комутатори ("csw"), броя на обслужваните прекъсвания ("ин") и броя на наличните процесори.

MEM : Този ред съдържа информация, свързана с потреблението на паметта - общото количество физическа памет ("tot"), размера на паметта, който понастоящем е свободен ("свободен"), използваната памет като кеш на страницата (" ), количеството памет в кеша на страницата, което трябва да бъде изчерпано на диска ("dirty"), количеството използвана памет за мета данни ("buff") на файловата система и количеството памет, използвана за ядрото malloc's ").

SWP : Този ред съдържа общата сума на сумираното пространство на диска ("tot") и размера на свободното суап пространство ("free"), ангажираното пространство за виртуална памет ("vmcom") и максималната граница на ангажираното пространство ( "vmlim)

DSK : Този ред съдържа информация, свързана с използването на диска - частта от времето, в което единицата е заета с обработка на заявки ("заето"), броя на издадените заявки за четене ("read" ), броя KiBytes за четене (KiB / r), броя KiBytes за запис (KiB / w), броя на MiBytes за пропускателна способност за четене (MBr / s) MiBytes в секунда пропускателна способност за писане (MBw / s), средната дълбочина на опашката ("avq") и средния брой милисекунди, необходими за заявка, латентност и предаване на данни по заявка ("avio").

NET : Това е информацията, свързана с използването на мрежата (TCP / IP) - един ред е показан за активността на транспортния слой (TCP и UDP), един ред за IP слоя и един ред за активен интерфейс.

Информацията на ниво система е последвана от информация за ниво на процеса, която като наименование предлага подробна информация, свързана с процесите, от които се е променило използването на ресурса през последния интервал (интервалът по подразбиране е 10 секунди).

Важна точка, която си заслужава да се спомене, е, че най-накрая използва цветове (червен, циан и др.), За да покаже критичността на потреблението на ресурсите на системно ниво. Например, когато даден ресурс надвиши критичния си процент на заетост, цялата линия на екрана е оцветена в червено.

Забележка : За да видите повече информация за изхода на командата, преминете през страницата на командата man.

Интерактивни команди

Можете да контролирате изхода на командата atop от вашата клавиатура. Например, натиснете m да покажете изход, свързан с паметта, d за изход, свързан с диск, n за изход, свързан с мрежата, v за различни характеристики на процеса, c за командния ред на процеса и др.

Тук се извежда екранът на информацията за нивото на процеса, произведена от командата atop, когато е натиснат c :

Както можете да видите, командният ред на процеса се показва на изхода.

заключение

На върха е много полезна команда за наблюдение на натоварването в Linux, която не само осигурява зареждане с информация за системните ресурси, но и различни начини за персонализиране и контрол на изхода. Препоръчваме ви да прегледате страницата на командата, за да научите повече за нея.