dmidecode?
使用dmidecode命令查看硬件信息的方法:
dmidecode命令輸出格式
執(zhí)行dmidecode命令,輸出如下:
#dmidecode | head -10
# dmidecode 2.9
SMBIOS 2.4 present.
25 structures occupying 844 bytes.
Table at 0x000DC010.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: LENOVO
Version: 05CN39WW(V1.10)
Release Date: 08/29/2007
以上輸出中,前面4條是dmidecode命令整體信息,“25 structures occupying 844 bytes.”該行指示該機器的DMI記錄項總共有25條。
后面就是DMI表中各條記錄,每條記錄的輸出格式如下:
Record Header: Handle {record id}, DMI Type {dmi type id}, {record size} bytes
Record Value: {multi line record value}
record id: DMI表中每條記錄唯一的標識
dmi type id: 記錄的類型,比如BIOS,memory等
record size: DMI表中該條記錄的大小
multi line record values: 多行與該DMI類型相關(guān)的字段描述
DMI類型
DMI表包含以下DMI類型,每個DMI Type值對應(yīng)一項硬件信息:
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
根據(jù)上表我們亦可知道,可以通過dmidecode命令查到哪些硬件信息,例如要查詢主板(Base Board)的信息,可以執(zhí)行以下命令:
#dmidecode -t 2
# dmidecode 2.9
SMBIOS 2.4 present.
Handle 0x0002, DMI type 2, 8 bytes
Base Board Information
Manufacturer: LENOVO
Product Name: IGT30
Version: REFERENCE
Serial Number: 2083601501567
除了使用DMI Type_id作為索引進行查詢外,還可以通過設(shè)備關(guān)鍵詞查詢,設(shè)備關(guān)鍵詞與Type_id對應(yīng)關(guān)系如下:
Keyword Types
------------------------------
bios 0, 13
system 1, 12, 15, 23, 32
baseboard 2, 10
chassis 3
processor 4
memory 5, 6, 16, 17
cache 7
connector 8
slot 9
這樣,執(zhí)行“dmidecode –t baseboard”命令將顯示type_id為2、10項的信息。
使用dmidecode命令查詢內(nèi)存(RAM)信息
最后來看個使用dmidecode命令的例子,如何使用dmidecode命令查詢內(nèi)存信息。
首先,可以通過以下命令查詢機器最大支持的內(nèi)存總量:
#dmidecode -t 16
# dmidecode 2.9
SMBIOS 2.4 present.
Handle 0x000D, DMI type 16, 15 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 4 GB
Error Information Handle: Not Provided
Number Of Devices: 2
從以上輸出可知,該機器理論上支持的最大內(nèi)存為4G。
然后使用以下命令查詢機器可用的內(nèi)存:
#grep MemTotal /proc/meminfo
MemTotal: 2055764 kB
可以看到機器可用的內(nèi)存為2G,也即我們可以再擴2G內(nèi)存。
但是在用的2G內(nèi)存是怎么組成的?是1條2G內(nèi)存?是2條1G內(nèi)存?
我們可以通過以下命令進行查詢:
#dmidecode -t 17
# dmidecode 2.9
SMBIOS 2.4 present.
Handle 0x000E, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x000D
Error Information Handle: No Error
Total Width: 32 bits
Data Width: 32 bits
Size: 1024 MB
Form Factor: SODIMM
Set: 1
Locator: M1
Bank Locator: Bank 0
Type: DDR2
??
Handle 0x000F, DMI type 17, 27 bytes
Memory Device
Array Handle: 0x000D
Error Information Handle: No Error
Total Width: 32 bits
Data Width: 32 bits
Size: 1024 MB
??
從以上信息可以看出,該機器插了2條1G的內(nèi)存。
小結(jié)
使用linux系統(tǒng)自帶工具dmidecode可以查看機器硬件信息,較常用到以下幾條命令。
查詢機器型號:
#dmidecode | grep -i product
Product Name: TIANYI F41A
Product Name: IGT30
查詢內(nèi)存條數(shù):
#dmidecode -t 17 | grep "Size.*MB" | wc -l
2
查詢物理CPU信息:
#dmidecode -t 4
另外也可通過/proc查詢CPU相關(guān)信息。
查詢物理CPU個數(shù):
#cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l
1
查詢CPU核數(shù):
#cat /proc/cpuinfo | grep 'core id'| wc -l