自分のシステムのコア数を知りたくて、同じ質問をGoogleで検索してみました。すると、lscpu
コマンドのようなコマンドが出てきました。
このコマンドを実行してみると、次のような結果が得られました。
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 4
On-line CPU(s) list: 0-3
Thread(s) per core: 1
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 23
Stepping: 10
CPU MHz: 1998.000
BogoMIPS: 5302.48
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 2048K
NUMA node0 CPU(s): 0-3
特に、この出力では
Linuxシステムのコア数を示すものはどれ?
他にコア数を知るためのコマンドはないのでしょうか、それとも全くの勘違いでしょうか?
ソケットとソケットあたりのコア数を見なければなりません。この場合、1つの物理的なCPU(ソケット)には4つのコアがあります(ソケットあたりのコア数)。
また、cat /proc/cpuinfo
というコマンドを使うと、各コアのデータの塊を出力することができます。 各チャンクはこの情報で始まります。
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 60
model name : Intel(R) Core(TM) i5-4210M CPU @ 2.60GHz
(...)
コアには0から番号が振られているので、このケースのように最後のチャンクに「processor : 3」と書かれていれば、マシンには4つのコアがあります。