Como indicado em Kusalananda 's answer , nproc
distingue entre o número de CPUs disponíveis para o processo atual e o número total de CPUs.
Nos sistemas Linux, as CPUs disponíveis para o processo atual, quando o OpenMP não está envolvido, são determinadas pela máscara de afinidade do processo. Para ver isso, execute taskset
:
taskset -p $$
ou schedtool
:
schedtool $$
( taskset
é parte do pacote util-linux
e deve ser instalado por padrão; schedtool
é seu próprio pacote e talvez precise ser instalado se você quiser usá-lo.)
No seu caso, isso deve mostrar que seu shell está limitado a um único processador, e é por isso que nproc
outputs 1
.