Как посмотреть потоки процесса в Linux

Потоки это популярная программная абстракция для параллельного выполнения в современных операционных системах. Когда программа делиться на потоки для много поточного выполнения, ресурсы такие как адресное пространство оперативной памяти и открытые файлы делятся между потоками чтобы минимизировать накладные расходы и более эффективно использовать процессорное время. Эти возможности делают потоки эффективным механизмом много поточного выполнения.

В Linux потоки (а также LWP — Ligthweight Proccess — легкие процессы) созданные в пределах одной программы будут иметь такой же идентификатор группы потока как и PID программы. Каждый поток будет иметь свой собственный идентификатор потока (TID). Для планировщика ядра потоки ничем не отличаются от обычных процессов которые имеют общие ресурсы. Поэтому для просмотра потоков можно использовать такие классические инструменты командной строки как ps и top.

Ниже описаны несколько способов просмотра потоков процесса в linux

Способ первый: PS

В утилите ps показ потоков процесса включается опцией -T. Например вот такой командой можно посмотреть все потоки процесса с pid:

ps -T -p pid

Как посмотреть потоки процесса в Linux

В колонке SPID отображается идентификатор потока, а в CMD его имя.

Способ два: top

Команда top позволяет просматривать потоки в реальном времени. Для включения отображения потоков запустите top с опцией -H. Также можно включить или отключить показ потоков во время выполнения с помощью клавиши H:

top -H

Как посмотреть потоки процесса в Linux

Если вы хотите посмотреть только потоки нужного процесса выполните:

top -H -p pid

Как посмотреть потоки процесса в Linux

Способ 3: htop

Ну и как всегда под конец самое интересное. Самой удобной утилитой для просмотра потоков процесса есть htop. Это основный на ncurces интерактивный просмотрщик процессов. С помощью этой утилиты вы можете наблюдать за потоками в реальном времени в виде дерева.

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

Как посмотреть потоки процесса в Linux

Теперь вы можете просматривать потоки в виде дерева отдельно для каждого процесса:

Как посмотреть потоки процесса в Linux

Дорогие читатели, если вы увидели ошибку или опечатку в статье «Как посмотреть потоки процесса в Linux», помогите нам ее исправить! Выделите ошибку и нажмите одновременно клавиши «Ctrl» и «Enter». Мы получим ваше сообщение и внесём исправления в ближайшее время.

Источник: winzen.ru

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями: