LinuxでCPUの情報を取得する方法色々(物理CPU・論理CPU数・コア数)

LinuxでCPUの情報を取得する方法をまとめました。

CPUの情報を確認

CPUの情報は/proc/cpuinfoに記述されています。

lscpuコマンドを使用すると、CPUの情報をより見やすい形式で表示することができます。

  • cat /proc/cpuinfo
  • lscpu

/proc/cpuinfo 表示例

表示内容が多いので一部のみ抜粋していますが、「/proc/cpuinfo」の中身はこのような感じになっています。

$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 85
model name	: Intel Xeon Processor (Cascadelake)
stepping	: 5

### 以下省略 ###

lscpu実行例

こちらも表示内容が多いので一部のみ抜粋していますが、かなり読みやすい形で表示されています。

$ lscpu
Architecture:            x86_64
  CPU op-mode(s):        32-bit, 64-bit
  Address sizes:         46 bits physical, 48 bits virtual
  Byte Order:            Little Endian
CPU(s):                  3
  On-line CPU(s) list:   0-2
Vendor ID:               GenuineIntel
  Model name:            Intel Xeon Processor (Cascadelake)
    CPU family:          6
    Model:               85

### 以下省略 ###

物理CPUの数を確認

物理CPUの数は「/proc/cpuinfo」に記述されている「physical.id」の数で確認することができます。

  • grep physical.id /proc/cpuinfo | sort -u
$ grep physical.id /proc/cpuinfo
physical id	: 0
physical id	: 1
physical id	: 2

表示結果を「wc」コマンドに渡し行数を表示させると物理CPUの個数だけを表示させることができます。

  • grep physical.id /proc/cpuinfo | sort -u | wc -l

下記の例では物理CPUの数が3個であると表示されています。

$ grep physical.id /proc/cpuinfo | sort -u | wc -l
3

CPUのコア数を表示

CPUのコア数は「/proc/cpuinfo」に記述されている「cpu.cores」で確認することができます。

  • grep cpu.cores /proc/cpuinfo | sort -u
$ grep cpu.cores /proc/cpuinfo | sort -u
cpu cores	: 1

論理プロセッサの数を確認

論理プロセッサの数は以下の方法で確認することができます。

  • nproc --all
  • getconf _NPROCESSORS_ONLN
  • grep processor /proc/cpuinfo | wc -l
  • top実行後に1を入力

nproc --all

nprocは現在利用できるプロセッサーの数を表示させるコマンドです。

「--all」オプションを使用すると、システムにインストールされている全てのプロセッサーの数を表示することができます。

$ nproc --all
3

getconf _NPROCESSORS_ONLN

getconfコマンドはシステムに設定されている構成変数値を表示させるコマンドです。

_NPROCESSORS_ONLNを指定することで、論理プロセッサの数を表示させることができます。

$ getconf _NPROCESSORS_ONLN
3

grep processor /proc/cpuinfo

「/proc/cpuinfo」の「processor」部分で論理プロセッサの数を確認できます。

$ grep processor /proc/cpuinfo
processor	: 0
processor	: 1
processor	: 2

「wc -l」に結果を渡してあげると、論理プロセッサーの数だけを表示することができます。

  • grep processor /proc/cpuinfo | wc -l
$ grep processor /proc/cpuinfo | wc -l
3

top実行後に1を入力

topコマンドを実行した後に「1」を入力すると、%Cpu(s)という形で全CPUの使用率が合算して表示されている部分がCPU個別の使用率を表示するようになります。

ここで表示されたCPUの数で論理プロセッサーの数が分かります。

topコマンド実行

$ top
top - 22:09:07 up 29 days,  1:13,  1 user,  load average: 0.11, 0.05, 0.01
Tasks: 104 total,   1 running, 103 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.1 us,  0.0 sy,  0.0 ni, 95.7 id,  0.0 wa,  2.1 hi,  0.0 si,  0.0 st
MiB Mem :   1763.5 total,    307.2 free,   1091.0 used,    549.0 buff/cache
MiB Swap:   2048.0 total,   1542.4 free,    505.6 used.    672.4 avail Mem          

「1」を入力

下記の例では「Cpu0-2」と表示されて、3つの論理プロセッサーがあることが分かります。

$ top
top - 22:10:36 up 29 days,  1:14,  1 user,  load average: 0.02, 0.03, 0.00
Tasks: 104 total,   1 running, 103 sleeping,   0 stopped,   0 zombie
%Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
%Cpu1  :  2.7 us,  2.0 sy,  0.0 ni, 94.3 id,  0.0 wa,  1.0 hi,  0.0 si,  0.0 st
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   1763.5 total,    306.5 free,   1091.8 used,    549.0 buff/cache
MiB Swap:   2048.0 total,   1542.4 free,    505.6 used.    671.7 avail Mem 

コメント

タイトルとURLをコピーしました