Еквівалент процесора для Linux?


26

Чи існує еквівалент Unix / Linux для Process Monitor , GUI чи CUI?

Якщо це має значення, я дивлюся на Ubuntu, але якщо є еквівалент для інших систем (Mac, інших варіантів Linux, таких як Fedora, тощо), знаючи, що з них було б корисно.

Редагувати:

Монітор процесів призначений для моніторингу системних викликів (таких як створення файлів або запису), тоді як Провідник процесів - для моніторингу стану процесу (подібний до System Monitor). Я прошу перших, а не останніх. :-)

Відповіді:


12

Режим очікування консолі для цього є top, але є такі варіанти, як моя улюблена, htopякі дають вам трохи більше гнучкості дисплея і дозволяють зробити ще кілька операцій над процесами.

Менш інтерактивний погляд, який краще використовувати в сценаріях, буде psпрограма та всі її родичі.

Редагування: Виходячи з уточненого питання, ви можете зауважити, що straceобробляє перегляд системних дзвінків, здійснених певним процесом, включаючи всі операції читання-запису та виклики ОС. Ви можете активувати його в командному рядку до того, як програма, яку ви хочете відстежувати або приєднувати до запущеного процесу, натиснувши sна процес, обраний у htop.


4
Я вважаю, що topце еквівалент Process Explorer , а не Monitor Monitor , правда?
Мехрдад

Як щодо того, як запустити його та вивчити сторінку чоловіка. Я прочитав список функцій, до якого ви пов’язані з монітором процесу, і це звучало так, що htopохоплювало всі деталі, крім моніторингу послідовності завантаження. У кращому випадку це може бути активовано в screen/ tmuxіноді частиною шляхом через циліндр завантажувальної машини Linux.
Калеб

У світлі інших ваших коментарів ви також можете шукати strace, що ви можете активувати htop, натиснувши sна процес або вручну з командного рядка, коли ви запускаєте щось або за допомогою ідентифікатора процесу.
Калеб

12

Батько всіх моніторів процесів є top, і багато інструментів системного моніторингу викликаються top. Наприклад, є iotopдивитися введення / виведення диска,atop за купою системних ресурсів, powertopза споживанням енергії.

Якщо ви хочете більш детальну інформацію, вона не відстежується за замовчуванням. Щоб подивитися, що конкретний процес робить, зателефонуйтеstrace йому. Наприклад, якщо вас цікавить лише доступ до файлової системи:

strace -s9999 -efile command_name    # trace a program during its whole execution
strace -s9999 -efile -p1234          # trace a running program with the given PID

strace є специфічним для Linux, але інші системи мають подібний інструмент: truss на Solaris ktraceабо dtraceпід * BSD тощо.

Щоб переглянути те, що відбувається з певним файлом або в певному каталозі чи дереві каталогів, використовуйте інструмент ініціювати .

inotifywait -m .

Знову ж таки, інструмент характерний для Linux, але більшість інших уніцій мають подібну систему, наприклад, kqueue під * BSD та FAM (спочатку від SGI, але тепер доступний як API для багатьох систем).

Для перегляду всіх системних дзвінків під Linux можна використовувати підсистему аудиту . Це порівняно недавно, і літератури на цю тему не так багато; шукати auditctlабо читати auditctlдовідкову сторінку . На цьому сайті є кілька прикладів: відстеження доступу до файлів , виконання процесу відстеження .


Ви впевнені, що маєте на увазі еквівалент Process Monitor , а не Process Explorer ?
Мехрдад

@Mehrdad: Я бачу, я пішов би по імені та пам’яті інструменту, який я використовував у Windows (який насправді Process Explorer), а не за фактичним описом. Завжди небезпечно просити еквівалент певної програми, краще попросити програму з певними функціями.
Жил "ТАК - перестань бути злим"

Дякую. iotop -o -b -Pпоказує мені, які процеси виконують операції вводу / виводу диска
bartolo-otrit

8

Ви можете поглянути на lsofі strace. Монітор процесів Sysinternal - це насправді Filemon та Regmon у поєднанні з деякими додатковими вдосконаленнями. topКоманда більше схожа на Process Explorer.




2

Я не використовував цей монітор процесів, але, наскільки я можу сказати, він такий самий, як gnome-system-monitorу системі Gnome. Якщо ви використовуєте KDE, вони, ймовірно, мають щось подібне.


Ні, вони різні. Процесорний монітор фактично підключає системні виклики, а не відображає інформацію про процес. (Однак те, про що ви маєте на увазі, виконується Process Explorer.)
Мехрдад,

О, добре, я зазвичай використовую інструмент CLI vmstat для подібних речей. Але це все по системі, не за процес.
Кіт

1

dtrace4linux дозволяє простежити деякі цікаві ласощі ядра. Хоча він, здається, є більш потужним, ніж sysdig, але, на жаль, не так добре себе поводить.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.