Linux系統檢視硬體具體型號資訊

阿吉啊發表於2024-03-17

1.檢視CPU

(1)使用cat /proc/cpuinfo或lscpu

(2)使用dmidecode -i processor

Dmidecode 這款軟體允許你在 Linux 系統下獲取有關硬體方面的資訊。Dmidecode 遵循 SMBIOS/DMI 標準,其輸出的資訊包括 BIOS、系統、主機板、處理器、記憶體、快取等等。偶發現這個工具很有用,就總結一下。

DMI簡介

DMI (Desktop Management Interface, DMI)就是幫助收集電腦系統資訊的管理系統,DMI資訊的收集必須在嚴格遵照SMBIOS規範的前提下進行。 SMBIOS(System Management BIOS)是主機板或系統製造者以標準格式顯示產品管理資訊所需遵循的統一規範。SMBIOS和DMI是由行業指導機構Desktop Management Task Force (DMTF)起草的開放性的技術標準,其中DMI設計適用於任何的平臺和作業系統。DMI充當了管理工具和系統層之間介面的角色。它建立了標準的可管理系統更加方便了電腦廠商和使用者對系統的瞭解。DMI的主要組成部分是Management Information Format (MIF)資料庫。這個資料庫包括了所有有關電腦系統和配件的資訊。透過DMI,使用者可以獲取序列號、電腦廠商、串列埠資訊以及其它系統配件資訊。

dmidecode的輸出格式一般如下:
—————————————-
Handle 0×0002
DMI type 2, 8 bytes
Base Board Information
Manufacturer:Intel
Product Name: C440GX+
Version: 727281-0001
Serial Number: INCY92700942
—————————————-
其中的前三行都稱為記錄頭(recoce Header), 其中包括了:

1、recode id(handle): DMI表中的記錄識別符號,這是唯一的,比如上例中的Handle 0×0002。
2、dmi type id: 記錄的型別,譬如說:BIOS,Memory,上例是type 2,即”Base Board Information”
3、recode size: DMI表中對應記錄的大小,上例為8 bytes.(不包括文字資訊,所有實際輸出的內容比這個size要更大。)
記錄頭之後就是記錄的值:
4、decoded values: 記錄值可以是多行的,比如上例顯示了主機板的製造商(manufacturer)、model、version以及serial Number。

dmidecode的作用是將DMI資料庫中的資訊解碼,以可讀的文字方式顯示。由於DMI資訊可以人為修改,因此裡面的資訊不一定是系統準確的資訊。

安裝Dmidecode

Dmidecode 在主流的 Linux 發行版中都可以找到,只需透過所用發行版的包管理器安裝即可,如:

apt-get install dmidecode
# Debian/Ubuntu
yum install dmidecode
# RHEL/CentOS/Fedora
pacman -S dmidecode
# Arch Linux
emerge -av dmidecode
# Gentoo

或者使用官方原始碼包安裝:
Dmidecode原始碼包下載地址:​​ ​http://download.savannah.gnu.org/releases/dmidecode/​​​Win版本下載地址:​ ​http://gnuwin32.sourceforge.net/packages/dmidecode.htm​​

dmidecode命令用法詳解

不帶選項執行 dmidecode 通常會輸出所有的硬體資訊。

Dmidecode 有個很有用的選項 -t,可以按指定型別輸出相關資訊,假如要獲得處理器方面的資訊,則可以執行
dmidecode -t processor
輸出:

# dmidecode 2.10
SMBIOS 2.6 present.

Handle 0x0004, DMI type 4, 40 bytes
Processor Information
Socket Designation: CPU 1
Type: Central Processor
Family: Xeon
Manufacturer: Intel
ID: A5 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 26, Stepping 5
Flags:
FPU (Floating-point unit on-chip)
VME (Virtual mode extension)
DE (Debugging extension)
------
Usage: dmidecode [OPTIONS]
Options are:
-d, --dev-mem FILE Read memory from device FILE (default: /dev/mem)
#從裝置檔案讀資訊,輸出內容與不加引數標準輸出相同
-h, --help Display this help text and exit
#顯示幫助資訊
-q, --quiet Less verbose output
#顯示更少的簡化資訊
-s, --string KEYWORD Only display the value of the given DMI string
#只顯示指定DMI字串的資訊
-t, --type TYPE Only display the entries of given type
#只顯示指定條目的資訊
-u, --dump Do not decode the entries
#顯示未解碼的原始條目內容
--dump-bin FILE Dump the DMI data to a binary file
--from-dump FILE Read the DMI data from a binary file
-V, --version Display the version and exit
#顯示版本資訊

命令用法示例:

1、檢視伺服器型號:dmidecode | grep 'Product Name'

2、檢視主機板的序列號:dmidecode |grep 'Serial Number'

3、檢視系統序列號:dmidecode -s system-serial-number

4、檢視記憶體資訊:dmidecode -t memory

5、檢視OEM資訊:dmidecode -t 11

關於 Dmidecode 的更多用法,你可以透過指定 -h 選項查詢。

dmidecode引數string及type列表

Valid string keywords are:
bios-vendor
bios-version
bios-release-date
system-manufacturer
system-product-name
system-version
system-serial-number
system-uuid
baseboard-manufacturer
baseboard-product-name
baseboard-version
baseboard-serial-number
baseboard-asset-tag
chassis-manufacturer
chassis-type
chassis-version
chassis-serial-number
chassis-asset-tag
processor-family
processor-manufacturer
processor-version
processor-frequency

Valid type keywords are:
bios
system
baseboard
chassis
processor
memory
cache
connector
slot

type全部編碼列表
Type Information
—————————————-
0 BIOS
1 System
2 Base Board
3 Chassis
4 Processor
5 Memory Controller
6 Memory Module
7 Cache
8 Port Connector
9 System Slots
10 On Board Devices
11 OEM Strings
12 System Configuration Options
13 BIOS Language
14 Group Associations
15 System Event Log
16 Physical Memory Array
17 Memory Device
18 32-bit Memory Error
19 Memory Array Mapped Address
20 Memory Device Mapped Address
21 Built-in Pointing Device
22 Portable Battery
23 System Reset
24 Hardware Security
25 System Power Controls
26 Voltage Probe
27 Cooling Device
28 Temperature Probe
29 Electrical Current Probe
30 Out-of-band Remote Access
31 Boot Integrity Services
32 System Boot
33 64-bit Memory Error
34 Management Device
35 Management Device Component
36 Management Device Threshold Data
37 Memory Channel
38 IPMI Device
39 Power Supply
40 Additional Information
41 Onboard Device

2.檢視硬碟

不檢視具體型號資訊可以使用fdisk -l或者df、du、lsblk等命令

(1)sudo smartctl -a /dev/sda

需要安裝smartmontools支援

虛擬機器顯示如下:

筆記本顯示如下:

model表示型號

(2)sudo hdparm -I /dev/sda

可以看到下列是一塊西數資料硬碟

hdparm介紹

Hdparm是個命令列程式,用於獲取或設定PATA、SATA、SAS和SSD裝置的硬體引數。它接受連線到IDE、SATA,SAS介面的任何裝置作為大容量儲存介質,因此我們甚至還可以獲取有關CD/DVD驅動器的資訊。使用hdparm實用程式,我們可以調整硬碟或DVD驅動器、測試HDD或SSD速度、透過啟用聲學模式減小噪聲、開啟或關閉節能模式、啟用或禁用睡眠模式、啟用/禁用驅動器快取甚至安全擦除驅動器。Hdparm由Mark Lord編寫,他是Linux(E)IDE驅動程式的首席開發者和維護者,也是“libata”子系統的當前貢獻者。
注意事項:雖然hdparm在提高磁碟效能方面有顯著優勢,但它也極其危險。某些引數被濫用時,它很可能導致大量資料丟失。hdparm文件建議不要在任何情況下使用一些命令。因此,本文排除了這類危險的命令。更重要的是,始終建議在Linux系統上試用hdparm之前備份硬碟內容。
1.1. 在Linux上安裝hdparm
Hdparm預先安裝在大多數Linux發行版中。如果因某種原因未包含在內,使用預設的軟體包管理器在你的Linux系統上安裝hdparm。
在Arch Linux或Manjaro Linux上:
$ sudo pacman -S hdparm
在Debian、Ubuntu或Linux Mint上:
$ sudo apt install hdparm
在Fedora、CentOS或RHEL上:
$ sudo dnf install hdparm
在openSUSE上:
$ sudo zypper install hdparm
3.檢視記憶體
不需要檢視具體型號可以使用lsmem或free -m、cat /proc/meminfo命令
使用dmidecode -t memory命令
  • Type: 記憶體型別(例如,DDR4)。
  • Speed: 記憶體速度(例如,2400 MHz)。
  • Manufacturer: 記憶體生產廠商。
  • Part Number: 記憶體型號或部件編號。

顯示可能如下

# dmidecode 3.2

Handle 0x1100, DMI type 17, 40 bytes

Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK 0
Type: DDR4
Type Detail: Synchronous Unbuffered (Unregistered)
Speed: 2400 MHz
Manufacturer: Kingston
Serial Number: 1234ABCD
Asset Tag: 9876EFGH
Part Number: KHX2400C15D4/8GX
Rank: 2
Configured Memory Speed: 2400 MHz
Minimum Voltage: 1.2 V
Maximum Voltage: 1.2 V
Configured Voltage: 1.2 V
Temperature: 35
Health Status: OK
...

manufacturer 顯示為 Kingston,而 Part Number 顯示為 KHX2400C15D4/8GX,這分別表示記憶體的生產廠商和型號。

Manufacturer顯示為00CE000080CE,有時候,硬體製造商可能沒有在韌體中設定正確的資訊,或者硬體本身不支援提供這些資訊。

相關文章