Как да използвате командата top Linux (и да разберете нейния изход)

Командата top на Linux е една от най-добрите операционни системи, подобни на Unix. Неговият утилитарен дисплей е пълен с полезна информация за работещите процеси на вашата система и използването на ресурси. Но знаете ли, че той също поддържа цвят, подчертаване и дори елементарни графики?

Табло за управление с пълна информация

Най-горната команда съществува от 1984 г, и има много негови варианти. За тази статия работим с Ubuntu 18.04 с всички приложени пачове и версия 3.3.12 от top. Също така направихме кръстосани препратки към всичко на два други тестови компютъра, единият работи с Fedora, а другият Manjaro.

Горният дисплей по подразбиране натрупва възможно най-много информация в прозореца на терминала. Информацията е предпоставка за администрацията, така че това е нещо добро. Една от чертите на добрия системен администратор е способността да идентифицира възникващи проблеми и да се справя с тях, преди те да повлияят на обслужването. top ви дава табло с много различни системни показатели, които ви помагат да направите точно това.

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

Проверете вашата версия на top

За да проверите коя версия на top имате, въведете следния терминален прозорец:

top -v

Ако вашата версия е доста по-назад 3.3.12, тя може да не поддържа всички функции, които ще разгледаме.

Дисплей по подразбиране

Можете да започнете отгоре, като напишете следното и натиснете „Enter“:

top

Дисплеят по подразбиране съдържа две области с информация: обобщената област (или таблото за управление) и областта на задачите (или списъка с процеси). По подразбиране top актуализира дисплея си на всеки три секунди – ще забележите леко трептене, когато го направи.

Първият ред с числа на таблото за управление включва времето, колко време е работил компютърът ви, броя на хората, които са влезли и какво е било средното натоварване за последните една, пет и 15 минути. Вторият ред показва броя на задачите и техните състояния: бягане, спряно, заспиване или зомби.

Третият ред показва следните стойности на централния процесор (CPU):

us: Времето, което процесорът прекарва в изпълнение на процеси за хора в „потребителско пространство“.
sy: Количеството време, прекарано в изпълнение на процесите на „ядрото на ядрото“ на системата.
ni: Времето, прекарано в изпълнение на процеси с ръчно зададена добра стойност.
id: Количество време на престой на процесора.
wa: Времето, което процесорът прекарва в чакане за завършване на I/O.
здравей: Времето, прекарано в обслужването на хардуерни прекъсвания.
si: Количеството време, прекарано в обслужването на прекъсвания на софтуера.
st: Количеството време, загубено поради работещи виртуални машини („кражба на време“).

  Как да настроите суап файл на Linux

Четвъртият ред показва общата сума (в кибибайти) на физическата памет и колко е свободно, използвано и буферирано или кеширано.

Петият ред показва общото количество (също в кибибайти) суап памет и колко е свободно, използвано и налично. Последният включва памет, която се очаква да бъде възстановена от кеша.

Заглавията на колоните в списъка с процеси са както следва:

PID: ID на процеса.
ПОТРЕБИТЕЛ: Собственикът на процеса.
PR: Приоритет на процеса.
NI: Хубавата стойност на процеса.
VIRT: Количество виртуална памет, използвана от процеса.
RES: Количество резидентна памет, използвана от процеса.
SHR: Количество споделена памет, използвана от процеса.
S: Състояние на процеса. (Вижте списъка по-долу за стойностите, които това поле може да приеме).
%CPU: Делът на времето на процесора, използвано от процеса след последната актуализация.
%MEM: Делът на използваната физическа памет.
ВРЕМЕ+: Общо процесорно време, използвано от задачата в стотни от секундата.
КОМАНД: Името на командата или командния ред (име + опции).

Стойностите на паметта са показани в кибибайти. Колоната COMMAND е извън екрана, вдясно – не се вписва в изображението по-горе, но ще я видим скоро.

Състоянието на процеса може да бъде едно от следните:

D: Непрекъсваем сън
Р: Бягане
П: Спя
T: проследено (спряно)
Z: Зомби

Натиснете Q, за да излезете отгоре.

Превъртане на дисплея

Можете да натиснете клавишите със стрелки нагоре или надолу, за начало, край и страница нагоре или надолу, за да се придвижите нагоре и надолу и да получите достъп до всички процеси.

Натиснете стрелката наляво или надясно, за да преместите списъка с процеси настрани. Това е полезно, за да видите всички колони, които не се вписват в границите на прозореца на терминала.

На изображението по-долу сме натиснали стрелката надясно няколко пъти, за да видим колоната COMMAND.

Промяна на числовите единици

Нека променим единиците на дисплея на разумни стойности. Натиснете главно E, за да преминете през единиците, използвани за показване на стойностите на паметта в тези опции: кибибайти, мебибайти, гибибайти, тебибайти, пебибайти и ексбибайти. Използваната единица е първият елемент от четири и пети ред.

Натиснете малка буква „e“, за да направите същото за стойностите в списъка с процеси: кибибайти, мебибайти, гибибайти, тебибайти и пебибайти.

Натиснахме E, за да зададем единиците памет на таблото на гибибайти и „e“, за да зададем единиците памет на списъка с процеси на мебибайти.

Промяна на съдържанието на резюмето

Можете да промените настройките на дисплея за линиите в арматурното табло или да ги премахнете напълно.

Натиснете l, за да включите или изключите линията за обобщение на натоварването (първият ред). Премахнахме реда за обобщение на натоварването на изображението по-долу.

Ако имате a многоядрен процесор, натиснете 1, за да промените дисплея и да видите индивидуална статистика за всеки процесор. На нашия компютър има четири процесора. Натискаме 1, за да видим колко усилено работи всеки от тях.

Разбира се, това заема повече пространство на екрана в прозореца на терминала.

Можете да натиснете “t”, за да смените дисплеите на процесора на прости ASCII графики, които показват процента на използване за всеки процесор.

  Как да планирате изключване на Linux

За всеки CPU горната част показва три числа и графиката. От ляво на дясно числата са както следва:

Комбинираният процент us и ni (потребителско пространство+задачи с нестандартни хубави настройки).
Процентът sy (пространство на ядрото).
Общо (закръглено до цяло число).

Натиснете отново “t”, за да промените дисплея на графиката на символи с плътен блок.

Натиснете “t” още веднъж, за да премахнете напълно дисплея на процесора и реда за обобщение на задачите.

Натиснете „m“, за да циклите паметта и да размените редовете на паметта през различни опции на дисплея. Първото натискане заменя статистиката с ASCII графика.

Друго натискане променя графиката за блокиране на знаци.

Натиснете “m” още веднъж, за да премахнете изцяло CPU линиите.

Ако искате, можете да видите графики на процесора и паметта едновременно. Просто натиснете “t” и “m”, докато получите желаната комбинация.

Цвят и подчертаване

Можете да натиснете “z”, за да добавите цвят към дисплея.

Когато мислите за отгоре, вероятно не се сещате за цветни дисплеи и ASCII графики, но те са вградени направо.

Натиснете „y“, за да маркирате изпълняваните задачи в списъка с процеси. Натискането на “x” подчертава колоната, използвана за сортиране на списъка с процеси. Можете да превключвате между удебелено и обърнато подчертаване на текст, като натиснете „b“.

Сортиране по колони

По подразбиране списъкът с процеси е сортиран по колоната %CPU. Можете да промените колоната за сортиране, като натиснете следното:

P: Колоната %CPU.
M: Колоната %MEM.
N: Колоната PID.
T: Колоната TIME+.

На изображението по-долу списъкът с процеси е сортиран по колоната PID.

Вижте пълния команден ред

Натискането на “c” превключва колоната COMMAND между показване на името на процеса и пълния команден ред.

За да видите „дърво“ от процеси, които са стартирани или създадени от други процеси, натиснете V.

Вижте Процеси за един потребител

Натиснете „u“, за да видите процесите за един потребител. Ще бъдете подканени за името или UID.

Въведете името на UID на лицето, което искате да наблюдавате. Ще напишем „dave“ и ще натиснете „Enter“. Сега единствените процеси в областта на задачите принадлежат на потребителя dave.

Вижте само активни задачи

Натиснете I, за да видите само активни задачи.

Задачи, които не са изразходвали нито един процесор след последната актуализация, няма да се показват.

Задайте колко процеса да се показват

Натиснете “n”, за да ограничите дисплея до определен брой редове, независимо дали задачите са активни. Ще бъдете подканени за броя на процесите за показване.

Въведохме 10 и натиснахме Enter, така че в областта на задачите се появяват 10 процеса.

Renice a Process

Можете да натиснете “r”, за да промените добрата стойност (приоритет) за процес. Ще бъдете подканени за идентификатора на процеса. Просто натиснете Enter, за да използвате идентификатора на процеса на задачата в горната част на прозореца на процеса. Въвеждаме 7800, което е идентификационният номер на процеса на екземпляр на Firefox.

След като натиснете Enter, ще бъдете подканени за новата стойност nice, която да приложите към процеса. Набираме 15 и след това натискаме Enter.

Новата стойност nice се прилага към процеса незабавно.

Убийте процес

Натиснете „k“, за да убиете процес. След това ще бъдете подканени за идентификатора на процеса, който искате да убиете. Всъщност можете да изпратите всеки сигнал към процеса. Ще убием процес 7879, който спря да отговаря.

  4 приложения за редактиране на видео на Windows, които работят на Linux

Ще ви бъде предложена възможността да въведете сигнала, който искате да изпратите. Можете да го посочите по име или номер. Ако просто натиснете Enter, отгоре изпраща сигнала SIGTERM (убива).

Веднага след като натиснете Enter, сигналът се изпраща към процеса.

Персонализиране на дисплея

Можете също да персонализирате цветовете и колоните, които се показват. Ще променим цвета, използван за подкани, по подразбиране за който е червен.

Натиснете главно Z, за да отидете на страницата с цветови настройки. Горната част на екрана показва цветовете, използвани от различните елементи на дисплея. За да посочите кой елемент на дисплея искате да промените, натиснете едно от следните, които са чувствителни към главни букви:

S: Област с обобщени данни.
М: Съобщения и подкани.
H: Заглавия на колони.
T: Информация за задачата в списъка с процеси.

Натискаме M, за да променим подканите.

За да изберете цвят, натиснете едно от следните числа:

0: Черно.
1: Червен.
2: Зелено.
3: Жълто.
4: Синьо.
5: Магента.
6: Циан.
7: Бяло.

Натискаме 6, за да използваме циан.

Натиснете Enter, за да запазите настройките си. Подканите за въвеждане вече ще бъдат в цвета, който сте избрали.

Можем също да променим колоните, показани на екрана за управление на полета. Натиснете F, за да влезете в екрана за управление на полета.

Полетата, които се показват, имат звездичка

до тях и са маркирани с удебелен шрифт. Натиснете стрелките нагоре и надолу, за да преместите акцента през списъка с полета.

Ако преместите акцента от долната част на колона, той ще се появи в горната част на следващата (освен ако не сте в долната част на последната колона). Ако го преместите от горната част на колона, той ще се появи в долната част на предишната (освен ако не сте в горната част на първата колона).

Преместихме акцента към записа COMMAND и след това натиснахме „d“, за да премахнем звездичката

. След това се преместихме в UID записа и натиснахме „d“, за да поставим звездичка до този запис. Това означава, че колоната COMMAND няма да се показва, но колоната UID ще бъде.

Докато акцентът е в колоната UID, натискаме „s“, за да сортираме списъка с процеси в колоната UID.

Натиснете Enter, за да запазите настройките си, и след това натиснете “q”, за да излезете от екрана за управление на полета.

Колоната UID е заменила колоната COMMAND и списъкът с процеси е сортиран по нея.

Алтернативен режим на дисплея

Това работи най-добре в режим на цял екран. Натиснете A, за да покажете четири области в списъка с процеси, и след това натиснете „a“, за да се придвижите от област в зона.

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

Други натискания на клавиши
Следват някои други клавиши, които може да ви бъдат полезни в горната част:
W: Запазете настройките и персонализациите си, така че те все още да са в сила при следващото стартиране отгоре.

d: Задайте нова честота на опресняване на дисплея.

Space: Принуди горната част да опресни дисплея си в момента. Отгоре бананКакто видяхме, топ има доста богат репертоар. Други програми,

като htop

, са били вдъхновени от него, но всеки от тях има собствено отношение към нещата.

Въпреки това, отгоре е инсталиран навсякъде. Когато отидете в бизнеса, за да разгледате мрежи или сървъри, често ще ви казват, че абсолютно нищо не може да се промени на живите сървъри. Клиентът създава правилата, така че трябва да използвате това, което вече е инсталирано.

Дори ако предпочитате различен инструмент за наблюдение, трябва да се запознаете с top. Рано или късно вероятно ще се окажете в ситуация, в която това е всичко, до което ще имате достъп.