Как получить (из терминала) общее количество потоков (для каждого процесса и всего для всех процессов)

Я пробовал погулять, но я не могу найти его. Я ищу:

  1. количество потоков в процессе X
  2. общее количество потоков, выполняемых в настоящее время
25
задан 20 December 2011 в 00:24

4 ответа

Чтобы получить количество потоков для заданного pid:

ps -o nlwp <pid>

Чтобы получить сумму всех потоков, работающих в системе:

ps -eo nlwp | tail -n +2 | awk '{ num_threads += $1 } END { print num_threads }'
38
ответ дан 25 May 2018 в 15:49
  • 1
    ps -o nlwp <pid> возвращает NLWP :), что это значит? – Siddharth 4 May 2013 в 10:12
  • 2
    @Siddharth NLWP означает количество процессов LightWeight, которые являются количеством потоков. – jcollado 7 May 2013 в 07:45
  • 3
    Вы можете подавить " NLWP " с "h" (скрыть заголовки); т.е.: ps h -o nlwp $pid – bufh 9 August 2016 в 12:00

Для поиска количества потоков, выполняющих один процесс, вы можете посмотреть /proc/<pid>/status. Он должен указать количество потоков в качестве одного из полей.

6
ответ дан 25 May 2018 в 15:49

Я основываю этот ответ на ps axms. ps - отличный инструмент для перечисления того, что работает.

Если вы хотите отфильтровать это процессом, вы можете попробовать что-то вроде этого:

echo $(( `ps axms | grep firefox | wc -l`  - 1))

Мы вычитаем 1, потому что grep будет отображаться в этом списке.

Для всех потоков в общем случае это должно работать:

echo $(( `ps axms | wc -l`  - 1))

Мы вычитаем это на этот раз, потому что есть строка заголовка.

2
ответ дан 25 May 2018 в 15:49

Чтобы получить общее количество потоков (крошечные части процесса, выполняемые одновременно), вы можете использовать команду ps -o nlwp <pid>. Это работает все время. Но если вы предпочитаете пытаться просмотреть его через файл. вам следует, вероятно, посмотреть файлы, созданные для каждого процесса системы. Там вы можете получить окончательные детали процесса. Для каждого процесса есть папка, созданная в /proc/<pid>, там вы также можете увидеть все остальные детали.

1
ответ дан 25 May 2018 в 15:49

Другие вопросы по тегам:

Похожие вопросы: