Можем да използваме командата htop, за да видим списък с всички работещи процеси на нашия Linux сървър. Но какво, ако искаме да следим колко честотна лента на диска консумира всеки от тези процеси? Е, можем да използваме iotop.
iotop е интерактивен инструмент за мониторинг на I / O в Linux точно като htop. С iotop можете лесно да наблюдавате използването на честотна лента за четене и запис на диска за всяко изпълнение, обработено в Linux.
В тази статия ще ви покажа как да инсталирате iotop на популярни дистрибуции на Linux и как да използвате iotop за наблюдение на използването на честотната лента на диска за четене и запис на изпълняващ се процес. Ще използвам Ubuntu 18.04 LTS за демонстрацията, но същите команди трябва да работят на всякакви съвременни дистрибуции на Linux. И така, нека започнем.
Инсталиране на iotop на Ubuntu:
iotop се предлага в официалното хранилище на пакети на Ubuntu. Така че можете лесно да изтеглите iotop, като използвате мениджъра на пакети APT.
Първо актуализирайте кеша на хранилището на APT пакета със следната команда:
$ sudo apt актуализация
Сега инсталирайте iotop със следната команда:
$ sudo apt инсталирайте iotop
iotop трябва да бъде инсталиран.
Сега проверете дали iotop работи със следната команда:
$ iotop - версияiotop работи, както виждате.
Инсталиране на iotop на CentOS 7:
iotop се предлага в официалното хранилище на пакети на CentOS 7. Можете лесно да го инсталирате с YUM мениджъра на пакети, както следва:
$ sudo yum инсталирате iotop -y
Основна употреба на iotop:
За да наблюдавате използването на диска на всеки работещ процес с iotop, стартирайте iotop, както следва:
$ sudo iotop
Както можете да видите, интерактивният прозорец iotop се отваря. Тук можете да видите кой процес използва диска.
Както можете да видите на екранната снимка по-долу, в горната лява страна се показва общата скорост / честотна лента за четене на диска. По същия начин, в горната дясна страна, се показва общата скорост / честотна лента за запис на диска.
Както можете да видите, iotop показва колони за,
- Идентификатор на нишката (TID).
- I / O приоритет клас / ниво (ПРИО).
- собственикът на нишката с TID (ПОТРЕБИТЕЛ).
- четенето на диска в секунда (ПРОЧЕТЕТЕ ДИСК).
- записът на диска в секунда (ЗАПИСАНЕ НА ДИСК).
- процентът на времето, прекарано в нишката, докато се разменя (SWAPIN).
- процентът на времето, прекарано в изчакване на I / O (IO>).
- командата, която нишката работи (КОМАНД).
В повечето случаи Thread ID (TID) е еквивалентен на Process ID (PID).
Показване на процеси само при I / O операции:
По подразбиране iotop показва всички работещи процеси, независимо дали извършват I / O операции или не. И така, списъкът е много дълъг. По-трудно е да намерим нужните ни процеси и да ги наблюдаваме.
За щастие, iotop ви позволява да показвате само процесите, които извършват I / O операции. За да направите това, можете да използвате -o или -само опция на iotop.
За да покажете само процесите, извършващи I / O операции, стартирайте iotop, както следва:
$ sudo iotop -oИли
$ sudo iotop --само
Както можете да видите, процесът с TID 1345 и 1957 извършват I / O операции в момента.
Това е командата, която изпълнявам, за да симулирам I / O операции в тази статия.
$ dd, ако = / dev / urandom на = iotest.img bs = 1M брой = 1000
ЗАБЕЛЕЖКА: Ако не сте започнали iotop с -o или -само опция, все още можете да превключите към този режим, като натиснете o клавиш на клавиатурата. Можете да превключвате между тези 2 режима на iotop с помощта на o ключ.
Показване на общото използване на I / O за процес:
iotop също ви позволява да наблюдавате колко общо четения и записи на диска са извършили всеки процес след стартирането на iotop. За да направите това, трябва да използвате -а или -натрупана опция. Можете също да го използвате с -o или -само опция също.
Например,
$ sudo iotop -aoКакто можете да видите, се показва общият обем на четене и запис на диск за процес.
Показване на PID вместо TID:
Както казах по-рано, Thread ID (TID) е същият като ID на процеса (PID) през повечето време. Можете да ги използвате взаимозаменяемо. Но ако наистина искате да сте сигурни, че работите с точно идентификатор на процеса (PID), тогава iotop има -P или -процеси опция, която можете да използвате, за да промените TID колоната по подразбиране на PID колона.
За да покажете PID колона вместо TID колона, изпълнете iotop, както следва:
$ sudo iotop -PИли
$ sudo iotop --процеси
Както можете да видите, колоната TID се заменя с колоната PID.
Филтриране на йотоп процеси:
Можете да филтрирате iotop процеси въз основа на идентификатор на процеса (PID), ID на нишка (TID) и обработения собственик (ПОТРЕБИТЕЛ).
Например, ако искате да наблюдавате дисковия вход / изход на процесите само с PID 2024 и 2035, ще стартирате iotop, както следва:
$ sudo iotop -P -p 2024 -p 2035
Както можете да видите, само процесите с PID 2024 и 2035 се наблюдават.
Ако искате да наблюдавате дисковия вход / изход на нишките само с TID 2024 и 2035, ще стартирате iotop, както следва:
$ sudo iotop -P -p 2024 -p 2035Отново, да кажем, че искате да наблюдавате дисковия вход / изход на процесите, изпълнявани като потребител шовон. За да направите това, стартирайте iotop, както следва:
$ sudo iotop -P -u shovon
Както можете да видите, само процесите, които се изпълняват като потребител шовон се показва.
Ако искате да наблюдавате няколко потребители наведнъж, можете да направите и това.
Например, за наблюдение на дискови I / O на всички процеси, които потребителите шовон и лилия работят, изпълнете iotop, както следва:
$ sudo iotop -P -u shovon -u lilyИ така, по принцип това е начинът, по който използвате iotop за наблюдение на дискови I / O в Linux. Благодаря, че прочетохте тази статия.