Linux: Получение количества потоков в процессоре в командной строке

Чтобы узнать количество потоков, которые процессор может одновременно выполнять, можно выполнить команду:
1
cat /proc/cpuinfo | grep processor | wc -l
Выводится сожержимое файла /proc/cpuinfo, из него берутся строчки, содержащие слово "processor", а команда "wc -l" считает количество поданных ей на вход строчек. Вывод этой команды, например, удобно передавать в make для параллельной сборки:
1
make -j 'cat /proc/cpuinfo | grep processor | wc -l'
UPD: более короткая весрия той же команды:
1
grep processor /proc/cpuinfo | wc -l

2 комментария :

  1. можно делать сразу grep processor /proc/cpuinfo | wc -l
    и вроде всегда ставят количество потоков + 1. чтобы пока все потоки ждут IO, кто-нибудь все равно работал

    ОтветитьУдалить
  2. По поводу +1 - это, я так понял, совсем не очевидная вещь. Самая разумная стратегия, которую я нашел - это экспериментировать на конкретных проектах и конкретных машинах.

    ОтветитьУдалить