Способи оплати Abuse

Дивимося потоки процесу в Linux

06.03.2021, 20:53

Потоки - програма абстракції для паралельного виконання в сучасних OS. З багатопотоковим виконанням програми відбувається наступне: адресний простір оперативної пам'яті та відкриті файли діляться між потоками з тією метою, щоб мінімізувати накладні витрати та більш ефективно використовувати процесорний час. Усе це робить багатопотокове виконання ефективним і корисним механізмом. Переглядати потоки можна за допомогою інструментів командного рядка ps і top. Далі розглянемо, як це зробити в операційній системі Linux.

Потоки процесів Linux

У Linux передбачено два способи налагодження багатопотокових процесів для виконання певної дії. Один із них - коли процес створює свої копії за допомогою механізму fork і потім ці процеси взаємодіють через сокети або IPC. Т. Користувач отримує процеси, які займають ресурси та певний обсяг пам'яті. Наступний спосіб це виділення потоків у межах одного процесу. Так усі потоки одного процесу матимуть один ідентифікатор групи потоків, а також унікальний ідентифікатор. Тобто, вони матимуть доступ до всіх ресурсів батьківського процесу і займатимуть менше пам'яті.

Утиліта PS

У цій програмі потоки процесів активуються однією командою - T. У такий спосіб можна подивитися всі потоки процесу з PID для Chromium:

$ ps -T -p

УТИЛИТА PS

У колонці SPID відображається ідентифікатор потоку, а в CMD його ім'я.

Утиліта TOP

За допомогою утиліти top легко переглядати потоки в реальному часі. Для цього необхідно запустити top з опцією -H. Є можливість увімкнути або вимкнути показ потоків під час виконання за допомогою клавіші H:

$ top -H

Якщо потрібно подивитися тільки потоки потрібного процесу використовуйте:

$ top -H -p pid

УТИЛИТА TOP

Як бачимо, користуватися top зовсім просто.

Утиліта HTOP

Однак найзручнішою утилітою для перегляду потоків по праву вважається HTOP. Це основний на ncurces інтерактивний інструмент перегляду процесів. З його допомогою ви можете спостерігати за потоками в реальному часі у вигляді дерева.

Для цього необхідно ввімкнути перегляд потоків у htop: насамперед відкрийте програму, увійдіть у меню, натиснувши клавішу F2, потім виберіть Display Options, у розділі Setup. Тепер відзначте Three view і Show custom thread names. Усе, можна натискати F10 для збереження налаштувань:

УТИЛИТА HTOP

На цьому все. Так ви можете переглядати потоки у вигляді дерева окремо для кожного процесу. Тут знову відображаються потоки для браузера Chromium:

потоки для браузера Chromium