Jak możesz stwierdzić w wierszu poleceń, ile rdzeni znajduje się na komputerze, gdy korzystasz z systemu Mac OS X? W systemie Linux używam:
x=$(awk '/^processor/ {++n} END {print n+1}' /proc/cpuinfo)
To nie jest idealne, ale jest blisko. Ma to zostać nakarmione make
, dlatego daje wynik o 1 wyższy niż rzeczywista liczba. Wiem, że powyższy kod może być napisany gęstszy w Perlu lub może być napisany przy pomocy grep, wc i cut, ale zdecydowałem, że powyższy kod jest dobrym kompromisem między zwięzłością a czytelnością.
BARDZO PÓŹNA EDYCJA: Tylko dla wyjaśnienia: pytam, ile rdzeni logicznych jest dostępnych, ponieważ odpowiada to liczbie jednoczesnych zadań, które chcę make
odrodzić. Odpowiedź jkp, dopracowana przez Chrisa Lloyda, była dokładnie tym , czego potrzebowałem. YMMV.
nproc
polecenie.
grep ^processor /proc/cpuinfo | wc -l