← retour aux snippets

nproc: détecter le nombre de coeurs

Obtenir rapidement le nombre de processeurs disponibles pour paralléliser une commande.

bash process #nproc#cpu#parallel

objectif

Dimensionner le nombre de jobs parallèles en fonction du CPU.

code minimal

jobs=$(nproc)
make -j"$jobs"

utilisation

# réserver 1 coeur pour le système
jobs=$(( $(nproc) - 1 )); [ "$jobs" -ge 1 ] || jobs=1

variante(s) utile(s)

# CPU visibles (cgroups)
nproc --all

notes

  • nproc respecte cgroups sur kernels récents.
  • simple et portable (coreutils).