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
コメント