Как узнать из командной строки, сколько ядер на машине, когда вы работаете в Mac OS X? В Linux я использую:
x=$(awk '/^processor/ {++n} END {print n+1}' /proc/cpuinfo)
Это не идеально, но это близко. Это предназначено для того, чтобы его накормить make
, поэтому он дает результат на 1 больше, чем фактическое число. И я знаю, что приведенный выше код может быть написан более плотно в Perl или может быть написан с использованием grep, wc и cut, но я решил, что вышеупомянутое было хорошим компромиссом между краткостью и удобочитаемостью.
ОЧЕНЬ ПОЗДНЕЕ РЕДАКТИРОВАНИЕ: Просто чтобы уточнить: я спрашиваю, сколько доступно логических ядер, потому что это соответствует тому, сколько одновременных заданий я хочу make
создать. Ответ jkp, уточненный Крисом Ллойдом, был именно тем , что мне было нужно. YMMV.
nproc
команду.
grep ^processor /proc/cpuinfo | wc -l