ในบทความก่อนหน้า เรารวบรวมรายการ 10 คำสั่งที่มีประโยชน์สำหรับรวบรวมข้อมูลระบบและฮาร์ดแวร์ใน Linux ในคู่มือนี้ เราจะเน้นไปที่ CPU/Processor และแสดงวิธีต่างๆ ในการดึงข้อมูลรายละเอียดเกี่ยวกับ CPU ของเครื่องของคุณ
เพื่อให้ภาพรวม เราจะ Query ข้อมูลอย่าง CPU Architecture, Vendor_ID, Model, Model Name, จำนวน CPU Cores, ความเร็วของแต่ละ Core และอื่นๆ อีกมากมาย โดยพื้นฐานแล้ว /proc/cpuinfo มีข้อมูลทั้งหมดนี้ ทุกคำสั่ง/Utility อื่นๆ ได้ Output จากไฟล์นี้
ด้วย ذلك कहा ด้านล่างคือ 9 คำสั่งสำหรับรับข้อมูลเกี่ยวกับ Linux CPU ของคุณ
1. ดูข้อมูล CPU ด้วยคำสั่ง cat
คุณสามารถดูข้อมูล CPU ของระบบได้โดยดูเนื้อหาของไฟล์ /proc/cpuinfo ด้วยคำสั่ง 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 สำหรับค้นหาข้อมูล Plain-text สำหรับบรรทัดที่ตรงกับ Regular Expression สิ่งนี้ช่วยให้คุณ Output แค่ Vendor Name, Model Name, จำนวน Processors, จำนวน Cores ฯลฯ:
$ 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
Suggested Read: How to Use ‘cat’ and ‘tac’ Commands with Examples in Linux
2. คำสั่ง lscpu – แสดงข้อมูล CPU Architecture
คำสั่ง lscpu พิมพ์ข้อมูล CPU Architecture จาก sysfs และ /proc/cpuinfo ตามที่แสดงด้านล่าง:
$ 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 Dump ข้อมูลครบถ้วนเกี่ยวกับ CPU(s) ที่รวบรวมจาก CPUID Instruction และค้นพบรุ่นที่แน่นอนของ 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 – แสดงข้อมูล Hardware Linux
dmidecode เป็นเครื่องมือสำหรับดึงข้อมูล Hardware ของระบบ Linux ใดๆ มัน Dump เนื้อหาตาราง DMI (a.k.a SMBIOS) ของคอมพิวเตอร์ในรูปแบบที่มนุษย์อ่านง่าย สเปก SMBIOS กำหนด DMI Types ต่างๆ สำหรับ CPU ใช้ “processor” ดังนี้:
$ 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 – แสดงข้อมูล System Linux
Inxi เป็น Script ข้อมูลระบบ Command-line อันทรงพลัง ที่ตั้งใจไว้สำหรับ Console และ IRC (Internet Relay Chat) คุณสามารถใช้มันดึงข้อมูล Hardware ทันที
คุณสามารถติดตั้งได้ดังนี้:
$ sudo apt install inxi #Debian/Ubuntu systems $ sudo yum install inxi #RHEL/CentOS systems $ sudo dnf install inxi #Fedora 22+
เพื่อแสดงข้อมูล CPU ครบถ้วน รวมถึง Per CPU Clock-speed และ CPU Max Speed (หากมี) ใช้ Flag -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 – List Hardware Configuration
lshw เป็นเครื่องมือขั้นต่ำสำหรับรวบรวมข้อมูลลึกเกี่ยวกับ Hardware Configuration ของคอมพิวเตอร์ คุณสามารถใช้ Option -C เพื่อเลือก Hardware Class, CPU ในกรณีนี้:
$ 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 – แสดง Hardware Info ใน GTK+ Window
hardinfo แสดงข้อมูล Hardware ใน GTK+ Window คุณสามารถติดตั้งได้ดังนี้:
$ sudo apt install hardinfo #Debian/Ubuntu systems $ sudo yum install hardinfo #RHEL/CentOS systems $ sudo dnf install hardinfo #Fedora 22+
ติดตั้งเสร็จ พิมพ์:
$ hardinfo
Linux System Information
มันยังช่วยให้คุณสร้าง Hardware Info Report ของระบบได้ โดยคลิกปุ่ม “Generate Report” จาก Interface ด้านล่าง คลิก “Generate” เพื่อดำเนินต่อ สังเกตว่าคุณสามารถเลือก Hardware Info Category ที่จะ Generate ได้
Generate System Information Report
เมื่อคุณ Generate Report ใน HTML Format แล้ว คุณสามารถดูได้จาก Web Browser ตามที่แสดงด้านล่าง
Linux System Detailed Information
8. hwinfo – แสดงข้อมูล Hardware ที่มีอยู่
hwinfo ใช้สำหรับดึงข้อมูลเกี่ยวกับ Hardware ที่มีอยู่ในระบบ 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 – แสดงจำนวน Processing Units
nproc Command ใช้แสดงจำนวน Processing Unit ที่มีอยู่บนคอมพิวเตอร์ของคุณ:
$ nproc
สำหรับข้อมูลการใช้งานเพิ่มเติมและ Options อ่าน Man Pages ของคำสั่งเหล่านี้แบบนี้:
$ man commandname
ตรวจสอบเพิ่มเติม:
- Cpustat – Monitors CPU Utilization by Running Processes in Linux
- CoreFreq – A Powerful CPU Monitoring Tool for Linux Systems
- Find Top Running Processes by Highest Memory and CPU Usage in Linux
- How to Impose High CPU Load and Stress Test on Linux Using ‘Stress-ng’ Tool
ขอจบเพียงเท่านี้! คุณสามารถแบ่งปันวิธีเพิ่มเติมในการดึงข้อมูล CPU ใน Linux ได้ผ่าน Feedback Form ด้านล่าง