Linuxシステムのプロセッサに関する情報を取得する方法はいくつかあります。 LinuxでCPUをチェックするためのいくつかの追加の方法とともに、このタスクで私のお気に入りのツールを紹介します。
lscpuコマンドでCPU情報を取得
これは、CPU情報をシンプルで簡潔な出力で表示する最もシンプルなコマンドです。
システムのアーキテクチャ、プロセッサの数、ベンダー情報、キャッシュ情報、プロセッサ速度などを確認できます。
lsコマンドに似ているため、覚えやすいです。これは「listcpu」と考えることができます。
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: 142
Model name: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
Stepping: 9
CPU MHz: 900.054
CPU max MHz: 3100.0000
CPU min MHz: 400.0000
BogoMIPS: 5424.00
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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d
ええと…それは私のシステムのプロセッサ情報であり、Linuxシステムでも多少似ているはずです。
ご覧のとおり、最も重要な情報は、私のシステムにInteli5-7200Uプロセッサが搭載されていることです。 Webでこのモデル番号を検索して、詳細情報を入手できます。
しかし、出力の他のフィールドはどういう意味ですか?ここのプロセッサについて、実際にどのような情報がありますか?説明させてください。情報が技術的すぎるため、ここでの用語の基本的な理解が必要です。
lscpuコマンドの出力の説明
私のシステムのアーキテクチャは64ビットです。つまり、64ビットプロセッサです。
CPU op-modは32ビットと64ビットであり、32ビットと64ビットの両方のプロセッサとして動作できることを意味します。つまり、32ビットと64ビットの両方のオペレーティングシステムをインストールできます。
バイトオーダーはリトルエンディアンです。つまり、バイトはリトルエンディアンの順序に従って配置されます。
次の4行は、プロセッサ、CPU /コア、およびスレッドの数を示しています。この記事を読んで、プロセッサについて少し理解することをお勧めします。 Intelのこの写真は、ソケット、CPU、コア、スレッドの意味を視覚化するのにも役立ちます。

ここでは逆の順序で行かなければなりません。私のシステムにはここに1つのソケットがあります。つまり、CPU用のシングルチップが1つあります。
その1つのソケットには2つのコアがあります。これは、シングルチップに2つの物理CPUが搭載されていることを意味します。これにより、実際のコアの数、つまり実際の物理CPUがわかります。
ご覧のとおり、各コアには2つのスレッドがあります。スレッドは基本的に論理CPUです。スレッドは物理コアの物理実行リソースを共有しますが、オペレーティングシステムはそれらを個別のコアと見なします。ハイパースレッディングの詳細については、こちらをご覧ください。
つまり、私のシステムには2つの物理CPUを含む1つのチップがあり、各CPUは2つの論理CPUに分割されています。したがって、私のデュアルコアシステムはオペレーティングシステムから4つのCPUを搭載しているように見えます。
NUMAノードが1つあり、ベンダーはIntel、CPUファミリーは6です。
CPUモデル番号は142(私の意見では関係ありません)で、モデル名はIntel(R)Core(TM)i5-7200U CPU @ 2.50GHz(最も重要な情報)です。
ステッピングは、マイクロプロセッサが構築された設計変更のレベルを識別するためにインテルが使用する数値です。
私のCPUの現在のクロック速度は900.054MHzですが、最大容量は3100MHzと400MHzです。
BogoMIPSは、「プロセッサが1秒間に何百万回も何もできない」ことです。
仮想化はVT-xであり、「VirtualBox、VMware、Hyper-V、およびその他のアプリで作成された仮想マシンの高速化を支援する」ために使用されます。
次の4つのエントリはキャッシュに関するものです。 32KのL1D(データキャッシュ)、32KのL1I(命令キャッシュ)、256KのL2キャッシュ、3072KのL3キャッシュがあります。このwikiページを読んで、CPUキャッシュに関する簡単な情報を入手してください。
次は、各CPU(論理CPUと物理CPUの両方)のNUMAノードです。
最後の行は、メーカー固有の機能フラグのリストです。詳細については、こちらをご覧ください。
この図は、lscpuコマンドから取得する最も重要なプロセッサ情報をまとめたものです。

私の意見では、lscpuコマンドは、必要なすべての情報を提供するのに十分すぎるほどです。
LinuxでCPU情報を確認するためのその他のコマンド
LinuxコマンドラインでCPU情報を取得する方法は他にもあります。一つずつ見せてあげましょう。ただし、それらの出力については詳しく説明しません。
1。 / proc / cpuinfo
の内容を確認してくださいLinuxのディレクトリ構造を知っている場合は、procがLinuxの特別なディレクトリであることをすでに知っています。これは実際には、システムメモリ、マウントされたデバイス、ハードウェア構成などのランタイムシステム情報を含む仮想ファイルシステムです。
CPU情報が必要な場合は、procディレクトリにあるcpuinfoファイルの内容を読み取ることができます。
cpuinfoファイルには、プロセッサの各コアに関する詳細情報が含まれていることに注意してください。
たとえば、私のCPUの最初のコアには次の情報があります。
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
stepping : 9
microcode : 0x8e
cpu MHz : 800.026
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 : 22
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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf
bogomips : 5424.00
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:
CPUコア(物理コアと論理コアの両方を含む)の数だけが必要な場合は、grepコマンドをwcコマンドと一緒に使用できます。
cat /proc/cpuinfo | grep processor | wc -l
4
2。 lshwコマンドを使用する
lshwは「リストハードウェア」の略です。明らかに、それはハードウェア情報をリストすることを意味します。
lshwコマンドはシステム上のすべてのハードウェアに関する情報を提供するため、探しているものを正確に見つけることは困難です。
これが、lshwコマンドが目的の検索を絞り込むためのオプションを提供する理由です。
プロセッサ情報のみを表示するには、次の方法でlshwコマンドを使用できます。
sudo lshw -class CPU
これにより、次のような出力が表示されます:
*-cpu
description: CPU
product: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
vendor: Intel Corp.
physical id: 3f
bus info: [email protected]
version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
serial: To Be Filled By O.E.M.
slot: U3E1
size: 2964MHz
capacity: 3100MHz
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 art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp flush_l1d cpufreq
configuration: cores=2 enabledcores=2 threads=4
3。 hwinfoを使用する
hwinfoは、Linuxシステムのハードウェア情報を取得するためのもう1つのコマンドラインツールです。
おそらく最初にhwinfoツールをインストールする必要があります。 DebianとUbuntuでは、aptコマンドを使用してインストールできます。
sudo apt install hwinfo
インストールすると、次の方法でCPUの詳細を取得できます。
hwinfo --cpu
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.142.9 "Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz"
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,art,arch_perfmon,pebs,bts,rep_good,nopl,xtopology,nonstop_tsc,cpuid,aperfmperf,tsc_known_freq,pni,pclmulqdq,dtes64,monitor,ds_cpl,vmx,est,tm2,ssse3,sdbg,fma,cx16,xtpr,pdcm,pcid,sse4_1,sse4_2,x2apic,movbe,popcnt,tsc_deadline_timer,aes,xsave,avx,f16c,rdrand,lahf_lm,abm,3dnowprefetch,cpuid_fault,epb,invpcid_single,pti,ssbd,ibrs,ibpb,stibp,tpr_shadow,vnmi,flexpriority,ept,vpid,fsgsbase,tsc_adjust,bmi1,avx2,smep,bmi2,erms,invpcid,mpx,rdseed,adx,smap,clflushopt,intel_pt,xsaveopt,xsavec,xgetbv1,xsaves,dtherm,ida,arat,pln,pts,hwp,hwp_notify,hwp_act_window,hwp_epp,flush_l1d
Clock: 3050 MHz
BogoMips: 5424.00
Cache: 3072 kb
Units/Processor: 16
Config Status: cfg=new, avail=yes, need=no, active=unknown
4。 dmidecodeコマンド
dmidecodeは、Linuxシステムのさまざまな種類のハードウェア情報を取得するためのもう1つのコマンドです。 Linuxでのメモリ使用量を確認できます。プロセッサ情報のみを取得するためにも使用できます。
sudo dmidecode --type processor
このコマンドにもsudoアクセスが必要です。次のような出力が表示されます:
dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 3.0.0 present.
Handle 0x003F, DMI type 4, 48 bytes
Processor Information
Socket Designation: U3E1
Type: Central Processor
Family: Core i5
Manufacturer: Intel(R) Corporation
ID: E9 06 08 00 FF FB EB BF
Signature: Type 0, Family 6, Model 142, Stepping 9
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)
CMOV (Conditional move instruction supported)
PAT (Page attribute table)
PSE-36 (36-bit page size extension)
CLFSH (CLFLUSH instruction supported)
DS (Debug store)
ACPI (ACPI supported)
MMX (MMX technology supported)
FXSR (FXSAVE and FXSTOR instructions supported)
SSE (Streaming SIMD extensions)
SSE2 (Streaming SIMD extensions 2)
SS (Self-snoop)
HTT (Multi-threading)
TM (Thermal monitor supported)
PBE (Pending break enabled)
Version: Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
Voltage: 0.8 V
External Clock: 100 MHz
Max Speed: 2500 MHz
Current Speed: 2400 MHz
Status: Populated, Enabled
Upgrade: Other
L1 Cache Handle: 0x003C
L2 Cache Handle: 0x003D
L3 Cache Handle: 0x003E
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
Core Count: 2
Core Enabled: 2
Thread Count: 4
Characteristics:
64-bit capable
Multi-Core
Hardware Thread
Execute Protection
Enhanced Virtualization
Power/Performance Control
結論
もちろん、Linuxのハードウェア情報を提供するツールは他にもたくさんあります。それらを利用してCPU情報を取得することもできます。
私の意見では、何も覚えたくない場合は、lscpuが最適なコマンドです。 / proc/cpuinfoファイルに依存することもできます。この2つを使用するだけで、設定が完了します。
CPU情報の確認を学んだので、Linuxでのディスク情報の確認についても読みたいと思うかもしれません。
このチュートリアルが気に入っていただけたでしょうか。ご質問やご提案がございましたら、下にコメントを残してください。