LinuxでCPU詳細情報を取得する9つの必須コマンド徹底解説
以前の記事では、Linuxでシステムやハードウェア情報を収集するのに便利な10個のコマンドを紹介しました。本記事ではさらに焦点を絞り、CPU(プロセッサ)に関する詳細な情報を取得するさまざまな方法をご紹介します。
まず全体像として、CPUアーキテクチャ、vendor_id、モデル、モデル名、CPUコア数、各コアの動作速度など、さまざまな情報を照会する方法を解説します。
基本的に、これらすべての情報は /proc/cpuinfo ファイルに含まれており、他のコマンドやユーティリティもこのファイルから出力を得ています。
それでは、LinuxのCPU情報を取得するための9つのコマンドを見ていきましょう。
1. catコマンドでCPU情報を表示する
catコマンドを使って /proc/cpuinfo ファイルの内容を表示するだけで、システムのCPU情報を簡単に確認できます。
$ cat /proc/cpuinfo
実行すると、以下のような出力が得られます。
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: ......
より絞り込んだ情報を取得したい場合は、正規表現に一致する行を検索するCLIツールであるgrepコマンドを活用しましょう。ベンダー名、モデル名、プロセッサ数、コア数などだけを出力できます。
$ cat /proc/cpuinfo | grep 'vendor' | uniq #ベンダー名を表示 $ cat /proc/cpuinfo | grep 'model name' | uniq #モデル名を表示 $ cat /proc/cpuinfo | grep processor | wc -l #処理ユニット数をカウント $ cat /proc/cpuinfo | grep 'core id' #個別のコアを表示
参考記事:Linuxでの「cat」「tac」コマンドの使い方と実例集
2. lscpuコマンド – CPUアーキテクチャ情報を表示
lscpu コマンドは、sysfs および /proc/cpuinfo からCPUアーキテクチャ情報を読み取り、以下のように表示します。
$ 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: 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に関する完全な情報をダンプし、その情報からx86 CPUの正確なモデルを特定することもできます。
実行前にインストールが必要です。ディストリビューションに応じて以下のコマンドを使用してください。
$ sudo apt install cpuid #Debian/Ubuntu系 $ sudo yum install cpuid #RHEL/CentOS系 $ sudo dnf install cpuid #Fedora 22以降
インストール後、cpuid を実行してx86 CPUの情報を収集します。
$ cpuid
x86 CPU情報の出力例:
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仕様ではさまざまなDMIタイプが定義されており、CPUの場合は「processor」を指定します。
$ sudo dmidecode --type processor
Linuxハードウェア情報の出力例:
# 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系 $ sudo yum install inxi #RHEL/CentOS系 $ sudo dnf install inxi #Fedora 22以降
CPUごとのクロック速度や最大速度(利用可能な場合)を含む完全なCPU情報を表示するには、-C フラグを使用します。
$ inxi -C
Linuxシステム情報の出力例:
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 は、コンピュータのハードウェア構成に関する詳細情報を収集するためのシンプルなツールです。-C オプションでハードウェアクラスを選択でき、今回はCPUを指定します。
$ sudo lshw -C CPU
Linuxハードウェア構成の出力例:
*-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系 $ sudo yum install hardinfo #RHEL/CentOS系 $ sudo dnf install hardinfo #Fedora 22以降
インストール後、次のコマンドを実行します。
$ hardinfo
また、「Generate Report(レポート生成)」ボタンをクリックすると、システムハードウェア情報のレポートを作成できます。下記の画面から「Generate(生成)」をクリックして進みます。生成するハードウェア情報のカテゴリを選択できる点にも注目してください。
HTML形式でレポートを生成すると、以下のようにWebブラウザから閲覧できます。
8. hwinfo – 現在のハードウェア情報を表示
hwinfo は、Linuxシステムに存在するハードウェアに関する情報を抽出するために使用されます。CPUの情報を表示するには、--cpu オプションを指定します。
$ hwinfo --cpu
現在のハードウェア情報の出力例:
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 コマンドは、コンピュータに搭載されている処理ユニット(CPUスレッド)の数を表示します。
$ nproc
追加の使用方法やオプションについては、以下のように各コマンドのmanページを参照してください。
$ man コマンド名
さらに、以下の関連記事もぜひチェックしてみてください。
- Cpustat – Linuxで実行中プロセスのCPU使用率を監視する
- CoreFreq – Linuxシステム向けの強力なCPU監視ツール
- メモリとCPU使用量が最も多い上位プロセスをLinuxで見つける方法
- 「Stress-ng」ツールを使ってLinuxに高負荷をかけストレステストを行う方法
以上で解説は終わりです!その他のLinuxでCPU情報を抽出する方法があれば、下のフィードバックフォームからぜひ共有してください。
-
Bashスクリプトでブランチ固有のNetlify設定を自動化する方法 – ステップバイステップ完全ガイド
ステージング環境と本番環境など、複数の環境を持つプロジェクトでバックエンドAPIやフロントエンドのデプロイを行う場合、リポジトリ内の各ブランチに応じた正しい設定とコマンドを用意する必要があります。しかし、複数の開発者が同じコードベースで作業し、それぞれ異なるブランチへ変更を加えている状況では、この管理は非常に煩雑になりがちです。すべてのプルリクエストやブランチへの変更について、マージするかどうかを判断する前に、追加・修正・削除されたコードの行を確認する必要があります。設定ファイルも例外ではなく、わずかな変更がCI(継続的インテグレーション)全体に影響を及ぼす可能性があるため、ミスが起きやすい箇
-
LinuxでSSHパスワードレスログインを設定する方法【3つの簡単なステップ】
SSH(Secure Shell)は、リモートサーバーにログインしてコマンドやプログラムを実行するために広く使われているオープンソースのネットワークプロトコルです。また、SCP(Secure Copy)コマンドやrsyncコマンドを使って、ネットワーク経由で安全にファイルを転送する目的でも利用されています。 本記事では、CentOS、Fedora、Rocky Linux、AlmaLinuxなどのRHEL系ディストリビューション、およびUbuntu、MintなどのDebian系ディストリビューションにおいて、SSH鍵認証を使用してパスワード入力なしでリモートのLinuxサーバーに接続できるように