Comment pouvez-vous déterminer, à partir de la ligne de commande, combien de cœurs se trouvent sur la machine lorsque vous exécutez Mac OS X? Sous Linux, j'utilise:
x=$(awk '/^processor/ {++n} END {print n+1}' /proc/cpuinfo)
Ce n'est pas parfait, mais c'est proche. Ceci est destiné à être alimenté make
, c'est pourquoi il donne un résultat 1 supérieur au nombre réel. Et je sais que le code ci-dessus peut être écrit plus dense en Perl ou peut être écrit en utilisant grep, wc et cut, mais j'ai décidé que ce qui précède était un bon compromis entre concision et lisibilité.
MODIFICATION TRÈS TARD: Juste pour clarifier: je demande combien de cœurs logiques sont disponibles, car cela correspond au nombre de travaux simultanés que je veux make
générer. La réponse de jkp, affinée par Chris Lloyd, était exactement ce dont j'avais besoin. YMMV.
nproc
commande.
grep ^processor /proc/cpuinfo | wc -l