CPU(論理プロセッサ)の個数を確認するコマンド(Linux, macOS)

LinuxmacOSで論理プロセッサの個数を確認する方法をまとめます

nproc コマンド(Linux, macOS)

GNUcoreutils がインストールされている場合は nproc コマンドが利用できます.macOSでもcoreutilsをインストールしておけば nprocコマンドが使えます.

$ nproc --all

注意点は"--all"を指定する点です.例えばLinuxだと taskset コマンドでプロセスごとに利用できるCPU数を制限できます.nproc コマンドは,オプションなしだと制限後のCPU数,"--all"コマンドをつけると制限を無視した上限のCPU数を返します.

/proc/cpuinfo (Linuxのみ)

Linuxであれば /proc/cpuinfo をみればCPU数がわかります

$ cat /proc/cpuinfo

CPUの情報が大量に表示されるので,processor の行だけ見ましょう.

$ cat /proc/cpuinfo | grep processor

たとえば16コアあるサーバだと次の出力が得られます.

processor       : 0
processor       : 1
processor       : 2
processor       : 3
processor       : 4
processor       : 5
processor       : 6
processor       : 7
processor       : 8
processor       : 9
processor       : 10
processor       : 11
processor       : 12
processor       : 13
processor       : 14
processor       : 15

CPUが#0から#15まであり,合計で16コアあることがわかります

ちなみに上記のコア数とは,論理コア数(=スレッド数)になります.

物理コア数を調べたい場合は cpu cores の行をみます

また物理CPU数を調べたい場合は physical id の行をみます

sysctl -n hw.ncpu (macOS)

macOSの場合は sysctl コマンドが利用できます.FreeBSD由来のコマンドです.

$ sysctl -n hw.ncpu 

を実行するだけです