Още полезни Linux команди за системни администратори
Продължаваме да попълваме списъка от полезни администраторски команди в Linux. След top, vmstat, ps и останалите идва ред на:
6. free
Командата free дава информация за свободната и заета физическа и swap памет в системата, както и буферите, които ползва ядрото.
user@user: ~$ free -l -s 5
С горните опции се указва на free да изведе детайлна статистика на low и high паметта (двата региона във виртуалното адресно пространство на Linux). Информацията трябва да се обновява на всеки 5 секунди.
Други опции на командата включват:
7. iostat
iostat служи за мониторинг на натоварването на системните I/O устройства. Отчита го съпоставя времето, през което те са активни, спрямо средната скорост на трансфер. Докладите, които се генрират с тази команда могат да бъдат полезни при преконфигуриране на системата за по-добъро балансиране на входно/изходното натоварване между физическите дискове.
user@user: ~$ iostat -x -n
Пълен списък на флаговете в резултата, както и опциите на iostat може да се види с командата user@user: ~$ man iostat или тук.
8. sar
Командата sar се използва за събиране, докладване и съхранение на информация за дейността на системата. Резултата от нея може да се запише в произволен файл с опцията -o, следвана от името на файла. Ако то се изпусне, sar използва стандартният дейта файл в /var/log/sa/saXX, където XX отговаря на текущия ден.
За да може да се използва sar, трябва да е стартиран sysstat. Това става с командата:
user@user: ~$ sudo /etc/init.d/sysstat start
Ядрото на Linux поддържа вътрешни броячи, с които следи заявките, времето за изпълнение, натоварването на процесора за определен интервал или за целия период на активност на систмата и др. На тяхна база sar изчислява най-разнообразни метрики и съотношения на различните характеристики и представя цялостна картина за работата на системата.
Така администраторите лесно могат да открият къде и кога се се получава концентриране на трафика (т.нар. bottleneck), както и да намерят решение за справяне с проблема.
user@user: ~$ sar
Колоните %user и %system показват времето, през което CPU се използва в потребителски и системен режим. %iowait дава времето, през което процесора изчаква завършването на входно/изходни заявки, а %idle е индикация за полезната работа на процесора. Двете характеристики са полезни при анализ на работата на системата - %idle близък до 0 показва “запушване” на CPU, докато по-високи стойности на %iowait говорят за незадоволителна работа на дисковете.
Допълнителна информация може да се получи с опцията -q, която дава дължината на стартираните заявки, общия брой процеси, както и натоварването за предишните 1, 5 и 15 минути.
user@user: ~$ sar -q
9. mpstat
Командата mpstat дава статистика за всички процесори в системата (полезна е при многопроцесорни системи). Средното за всеки от тях може да се види с:
user@user: ~$ mpstat -P ALL
Допълнително може да се укажат няколко доклада, генерирани през определен период от време (в случая 2 доклада през 3 секунди). Метриките, които се извеждат, отговарят на:
10. pmap
С тази команда се показва карта на паметта за даден процес в определен период от време. Полезна е, когато трябва да се установи къде се получава memory bottleneck, за да може да се отстрани бързо.
user@user: ~$ pmap pid
На мястото на pid в горната команда се поставя номера на процеса, за който трябва да се получи детайлна картина на разпределението на паметта. В случая това е номера на програмата Amarok (ако не знаете какво е pid-то на даден процес, можете да използвате командата top, разгледана в предишната статия).
С опцията -x се получава детайлна картина на разпределението на паметта, типа мапинг за всеки запис, количеството заета памет, не-споделената или заключената памет, както и режима на използване.
6. free
Командата free дава информация за свободната и заета физическа и swap памет в системата, както и буферите, които ползва ядрото.
user@user: ~$ free -l -s 5
![]()
Статистика на паметта в системата с командата free. Снимка: IDG.bg, CreativeCommons
С горните опции се указва на free да изведе детайлна статистика на low и high паметта (двата региона във виртуалното адресно пространство на Linux). Информацията трябва да се обновява на всеки 5 секунди.
Други опции на командата включват:
- -b, -k, -m или -g: указва в какви метрики да се извежда паметта - съответно байтове, килобайтове, мегабайтове или гигабайтове
- -t: извежда общото количество памет (RAM + swap)
- -c: статистиката се обновява N пъти, след което спира да се извежда
7. iostat
iostat служи за мониторинг на натоварването на системните I/O устройства. Отчита го съпоставя времето, през което те са активни, спрямо средната скорост на трансфер. Докладите, които се генрират с тази команда могат да бъдат полезни при преконфигуриране на системата за по-добъро балансиране на входно/изходното натоварване между физическите дискове.
user@user: ~$ iostat -x -n
![]()
Статистика за входно/изходните заявки с командата iostat. Снимка: IDG.bg, CreativeCommons
Пълен списък на флаговете в резултата, както и опциите на iostat може да се види с командата user@user: ~$ man iostat или тук.
8. sar
Командата sar се използва за събиране, докладване и съхранение на информация за дейността на системата. Резултата от нея може да се запише в произволен файл с опцията -o, следвана от името на файла. Ако то се изпусне, sar използва стандартният дейта файл в /var/log/sa/saXX, където XX отговаря на текущия ден.
За да може да се използва sar, трябва да е стартиран sysstat. Това става с командата:
user@user: ~$ sudo /etc/init.d/sysstat start
Ядрото на Linux поддържа вътрешни броячи, с които следи заявките, времето за изпълнение, натоварването на процесора за определен интервал или за целия период на активност на систмата и др. На тяхна база sar изчислява най-разнообразни метрики и съотношения на различните характеристики и представя цялостна картина за работата на системата.
Така администраторите лесно могат да открият къде и кога се се получава концентриране на трафика (т.нар. bottleneck), както и да намерят решение за справяне с проблема.
user@user: ~$ sar
![]()
Доклади за състоянието на системата със sar. Снимка: IDG.bg, CreativeCommons
Колоните %user и %system показват времето, през което CPU се използва в потребителски и системен режим. %iowait дава времето, през което процесора изчаква завършването на входно/изходни заявки, а %idle е индикация за полезната работа на процесора. Двете характеристики са полезни при анализ на работата на системата - %idle близък до 0 показва “запушване” на CPU, докато по-високи стойности на %iowait говорят за незадоволителна работа на дисковете.
Допълнителна информация може да се получи с опцията -q, която дава дължината на стартираните заявки, общия брой процеси, както и натоварването за предишните 1, 5 и 15 минути.
user@user: ~$ sar -q
9. mpstat
Командата mpstat дава статистика за всички процесори в системата (полезна е при многопроцесорни системи). Средното за всеки от тях може да се види с:
user@user: ~$ mpstat -P ALL
![]()
Натовареност на процесорите в системата с mpstat. Снимка: IDG.bg, CreativeCommons
Допълнително може да се укажат няколко доклада, генерирани през определен период от време (в случая 2 доклада през 3 секунди). Метриките, които се извеждат, отговарят на:
- CPU: номер на процесора (0 отговаря на първият). Първият ред (CPU all) показва средната статистика за всички процесори
- %user: процента на използване на процесора в потребителски режим (приложения и заявки)
- %nice: като горното, но за процеси със зададен nice приоритет на изпълнение (висока стойност на nice отговаря на по-нисък приоритет)
- %system: процента на използване на процесора в системен режим (ядрото). Тук не се включва времето за обслужване на прекъсванията
- %iowait: както вече беше споменато, това е времето, през което дисковете обработват I/O заявки, а процесорите са в режим на изчакване
- %irq: процента от работата на процесора, отишъл за обработване на прекъсванията на ядрото
- %soft: подобно на горното, но за обслужване на softriqs (софтуерни пркъсвания)
- %idle: подобно на %iowat, но без I/O заявки за обработване
10. pmap
С тази команда се показва карта на паметта за даден процес в определен период от време. Полезна е, когато трябва да се установи къде се получава memory bottleneck, за да може да се отстрани бързо.
user@user: ~$ pmap pid
![]()
Карта на паметта за даден процес с pmap. Снимка: IDG.bg, CreativeCommons
На мястото на pid в горната команда се поставя номера на процеса, за който трябва да се получи детайлна картина на разпределението на паметта. В случая това е номера на програмата Amarok (ако не знаете какво е pid-то на даден процес, можете да използвате командата top, разгледана в предишната статия).
С опцията -x се получава детайлна картина на разпределението на паметта, типа мапинг за всеки запис, количеството заета памет, не-споделената или заключената памет, както и режима на използване.
(10.02.2011)
КОМЕНТАРИ
Трябва да сте регистриран потребител, за да коментирате статията
"Още полезни Linux команди за системни администратори"
"Още полезни Linux команди за системни администратори"




