LinuxでCPU情報を取得するための9つの有用なコマンド

以前の記事では、Linuxでシステムおよびハードウェア情報を収集するための10の便利なコマンドのリストをまとめました。このガイドでは、CPU/プロセッサーに絞り、マシンのCPUに関する詳細な情報を抽出するさまざまな方法を紹介します。

概要をお伝えするために、CPUアーキテクチャ、vendor_id、モデル、モデル名、CPUコアの数、各コアの速度などの情報をクエリします。
基本的には、/proc/cpuinfoにこのすべての情報が含まれており、他のすべてのコマンド/ユーティリティはこのファイルから出力を取得します。

それでは、Linux CPUに関する情報を取得するための9つのコマンドを以下に示します。

1. catコマンドを使用してCPU情報を取得する

catコマンドを使用して、/proc/cpuinfoファイルの内容を表示することで、システムのCPUの情報を簡単に表示できます。catコマンドを使用して次のようにします:

$ cat /proc/cpuinfo
Linux CPU Information
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 69
model name	: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
stepping	: 1
microcode	: 0x1c
cpu MHz		: 1700.062
cache size	: 3072 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 2
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts
bugs		:
bogomips	: 4788.92
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:
......

少し具体的にするために、grepコマンドを利用することができます。これは、正規表現に一致する行を検索するためのCLIツールです。これにより、ベンダー名、モデル名、プロセッサの数、コアの数などを出力することができます。

$ cat /proc/cpuinfo | grep 'vendor' | uniq		#view vendor name
$ cat /proc/cpuinfo | grep 'model name' | uniq		#display model name
$ cat /proc/cpuinfo | grep processor | wc -l		#count the number of processing units
$ cat /proc/cpuinfo | grep 'core id'			#show individual cores	

参考文献: Linuxでの「cat」と「tac」コマンドの使用方法と例

2. lscpuコマンド – CPUアーキテクチャ情報を表示します

コマンドlscpuは、以下に示すようにsysfs/proc/cpuinfoからCPUアーキテクチャ情報を出力します:

$ lscpu
Linux CPU Architecture
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:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 69
Model name:            Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
Stepping:              1
CPU MHz:               1303.687
CPU max MHz:           2700.0000
CPU min MHz:           800.0000
BogoMIPS:              4788.92
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts

3. cpuidコマンド – x86 CPUを表示します

コマンドcpuidは、CPUID命令から収集されたCPU(s)の完全な情報をダンプし、その情報からx86 CPU(s)の正確なモデルを特定します。

実行する前にインストールしてください。

$ sudo apt install cpuid        #Debian/Ubuntu systems
$ sudo yum install cpuid	#RHEL/CentOS systems 
$ sudo dnf install cpuid	#Fedora 22+ 

インストールしたら、cpuidを実行してx86 CPUに関する情報を収集してください。

$ cpuid
Shows x86 CPU Information
CPU 0:
   vendor_id = "GenuineIntel"
   version information (1/eax):
      processor type  = primary processor (0)
      family          = Intel Pentium Pro/II/III/Celeron/Core/Core 2/Atom, AMD Athlon/Duron, Cyrix M2, VIA C3 (6)
      model           = 0x5 (5)
      stepping id     = 0x1 (1)
      extended family = 0x0 (0)
      extended model  = 0x4 (4)
      (simple synth)  = Intel Mobile Core i3-4000Y / Mobile Core i5-4000Y / Mobile Core i7-4000Y / Mobile Pentium 3500U/3600U/3500Y / Mobile Celeron 2900U (Mobile U/Y) (Haswell), 22nm
   miscellaneous (1/ebx):
      process local APIC physical ID = 0x0 (0)
      cpu count                      = 0x10 (16)
      CLFLUSH line size              = 0x8 (8)
      brand index                    = 0x0 (0)
   brand id = 0x00 (0): unknown
   feature information (1/edx):
      x87 FPU on chip                        = true
      virtual-8086 mode enhancement          = true
      debugging extensions                   = true
      page size extensions                   = true
      time stamp counter                     = true
      RDMSR and WRMSR support                = true
      physical address extensions            = true
....

4. dmidecodeコマンド – Linuxハードウェア情報を表示します

dmidecodeは、任意のLinuxシステムのハードウェア情報を取得するツールです。これは、コンピューターのDMI(またはSMBIOSとも呼ばれる)テーブル内容を人が読める形式でダンプします。SMBIOS仕様では、CPUの場合、「processor」としてさまざまなDMIタイプが定義されています:

$ sudo dmidecode --type processor
Shows Linux Hardware Information
# dmidecode 3.0
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0004, DMI type 4, 42 bytes
Processor Information
	Socket Designation: U3E1
	Type: Central Processor
	Family: Core i5
	Manufacturer: Intel(R) Corporation
	ID: 51 06 04 00 FF FB EB BF
	Signature: Type 0, Family 6, Model 69, Stepping 1
	Flags:
		FPU (Floating-point unit on-chip)
		VME (Virtual mode extension)
		DE (Debugging extension)
		PSE (Page size extension)
		TSC (Time stamp counter)
		MSR (Model specific registers)
		PAE (Physical address extension)
		MCE (Machine check exception)
		CX8 (CMPXCHG8 instruction supported)
		APIC (On-chip APIC hardware supported)
		SEP (Fast system call)
		MTRR (Memory type range registers)
		PGE (Page global enable)
		MCA (Machine check architecture)
.....

5. Inxiツール – Linuxシステム情報を表示します

Inxiは、コンソールとIRC(Internet Relay Chat)の両方向けの強力なコマンドラインシステム情報スクリプトです。ハードウェア情報を即座に取得することができます。

次のようにインストールできます:

$ sudo apt install inxi 	#Debian/Ubuntu systems
$ sudo yum install inxi		#RHEL/CentOS systems 
$ sudo dnf install inxi		#Fedora 22+ 

完全なCPU情報を表示するには、-Cフラグを使用します。以下のように:

$ inxi -C
Print Linux System Information
CPU:       Dual core Intel Core i5-4210U (-HT-MCP-) cache: 3072 KB 
           clock speeds: max: 2700 MHz 1: 1958 MHz 2: 1993 MHz 3: 1775 MHz 4: 1714 MHz

6. lshwツール–ハードウェア構成の一覧

lshwは、コンピューターのハードウェア構成に関する詳細な情報を収集するための最小限のツールです。この場合、CPUを選択するには-Cオプションを使用できます:

$ sudo lshw -C CPU
Print Linux Hardware Configuration
*-cpu                   
       description: CPU
       product: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
       vendor: Intel Corp.
       physical id: 4
       bus info: cpu@0
       version: Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz
       serial: To Be Filled By O.E.M.
       slot: U3E1
       size: 2626MHz
       capacity: 2700MHz
       width: 64 bits
       clock: 100MHz
       capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm epb tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid xsaveopt dtherm ida arat pln pts cpufreq
       configuration: cores=2 enabledcores=2 threads=4

7. hardinfo–GTK+ウィンドウにハードウェア情報を表示します

hardinfoは、GTK+ウィンドウにハードウェア情報を表示します。以下のようにインストールできます:

$ sudo apt install hardinfo 	#Debian/Ubuntu systems
$ sudo yum install hardinfo	#RHEL/CentOS systems 
$ sudo dnf install hardinfo	#Fedora 22+ 

インストールしたら、次のように入力します:

$ hardinfo 
Linux System Information

また、システムのハードウェア情報レポートを生成することもできます。以下のインターフェースから、「レポートを生成」ボタンをクリックしてシステムのハードウェア情報レポートを生成できます。「生成」をクリックして、生成するハードウェア情報のカテゴリを選択できます。

Generate System Information Report

html形式でレポートを生成したら、以下に示すようにWebブラウザから表示できます。

Linux System Detailed Information

8. hwinfo–現在のハードウェア情報を表示

hwinfoは、Linuxシステムに存在するハードウェアに関する情報を抽出するために使用されます。CPUに関する情報を表示するには、--cpuを使用します。

$ hwinfo --cpu
Print Present Hardware Information
01: None 00.0: 10103 CPU                                        
  [Created at cpu.460]
  Unique ID: rdCR.j8NaKXDZtZ6
  Hardware Class: cpu
  Arch: X86-64
  Vendor: "GenuineIntel"
  Model: 6.69.1 "Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz"
  Features: fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,dts,acpi,mmx,fxsr,sse,sse2,ss,ht,tm,pbe,syscall,nx,pdpe1gb,rdtscp,lm,constant_tsc,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,aperfmperf,eagerfpu,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,sdbg,fma,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,movbe,popcnt,tsc_deadline_timer,aes,xsave,avx,f16c,rdrand,lahf_lm,abm,epb,tpr_shadow,vnmi,flexpriority,ept,vpid,fsgsbase,tsc_adjust,bmi1,avx2,smep,bmi2,erms,invpcid,xsaveopt,dtherm,ida,arat,pln,pts
  Clock: 2080 MHz
  BogoMips: 4788.92
  Cache: 3072 kb
  Units/Processor: 16
  Config Status: cfg=new, avail=yes, need=no, active=unknown
....

9. nproc – プロセッシングユニットの数を表示する

nprocコマンドは、コンピューターに存在するプロセッシングユニットの数を表示するために使用されます。

$ nproc

これらのコマンドの追加の使用方法とオプションについては、以下のようにマニュアルページを読んでください:

$ man commandname

また、以下も確認してください:

  1. Cpustat – Linuxシステムで実行中のプロセスによるCPU利用率をモニターする
  2. CoreFreq – Linuxシステム向けの強力なCPUモニタリングツール
  3. Linuxで最も高いメモリおよびCPU使用率によるトップランニングプロセスを検索する方法
  4. Linuxでの高負荷CPU負荷およびストレステストの実施方法 – ‘Stress-ng’ツールの使用

以上です!LinuxでCPU情報を抽出する追加方法を以下のフィードバックフォームから共有してください。

Source:
https://www.tecmint.com/check-linux-cpu-information/