1. 查看服務器及內存型號信息
1.1. dmidecode簡介
DMI(Desktop Management Interface,DMI)直譯就是“桌面管理界面”,它就是通過收集系統信息來管理系統。其主要組成部分是Management Information Format(MIF)數據庫。這個數據庫包括了所有有關電腦系統和配件的信息。通過DMI,用戶可以獲取序列號、電腦廠商、串口信息以及其它系統配件信息。DMI充當了管理工具和系統層之間接口的角色。它建立了標准的可管理系統更加方便了電腦廠商和用戶對系統的了解。dmidecode就是將DMI數據庫里面的信息解碼后,以文本的方式進行展現的。dmidecode遵循SMBIOS/DMI標准,其輸出的信息包括BIOS、系統、主板、處理器、內存、緩存等等。因此我們可以在Linux系統下通過dmidecode來獲取有關硬件方面的信息。(DMI信息是可以人為篡改,存在查詢結果不准確的問題。不過一般正規途徑的機器不會去被篡改。)
SMBIOS(System Management BIOS)是主板或系統制造者以標准格式顯示產品管理信息所需遵循的統一規范。SMBIOS和DMI是由行業指導機構Desktop Management Task Force(DMTF)起草的開放性的技術標准,其中DMI設計適用於任何的平台和操作系統。
1.2. dmidecode參數選項
以下為dmidecode的命令選項:
命令參數 |
描述 |
-d, --dev-mem FILE |
從設備文件讀取信息,輸出內容與不加參數標准輸出相同。 |
-h, --help |
顯示幫助信息 |
-q, --quiet |
安靜模式,盡量不輸出冗余的信息。 |
-s, --string KEYWORD |
只顯示指定DMI字符串的信息。 |
-t, --type TYPE |
只輸出指定類型的信息 |
-H, --handle HANDLE |
只輸出指定句柄的信息 |
-u, --dump |
顯示未解碼的原始條目內容。 |
--dump-bin FILE |
輸出二進制格式的DMI數據文件 |
--from-dump FILE |
從二進制的DMI數據文靜讀取數據 |
--no-sysfs |
禁止從sysfs文件讀取DMI數據 |
--oem-string N |
只從OEM字符串中讀取數據 |
-V, --version |
顯示版本信息 |
不帶選項執行dmidecode通常會輸出所有的硬件信息。而本文只重點介紹“寫作背景”中用到的,也是常用的選項:-t 。選項type內容有:bios、system、baseboard、chassis、processor、memory、cache、connector、slot。
type全部編碼列表:
0 BIOS |
14 Group Associations |
28 Temperature Probe |
1 System |
15 System Event Log |
29 Electrical Current Probe |
2 Base Board |
16 Physical Memory Array |
30 Out-of-band Remote Access |
3 Chassis |
17 Memory Device |
31 Boot Integrity Services |
4 Processor |
18 32-bit Memory Error |
32 System Boot |
5 Memory Controller |
19 Memory Array Mapped Address |
33 64-bit Memory Error |
6 Memory Module |
20 Memory Device Mapped Address |
34 Management Device |
7 Cache |
21 Built-in Pointing Device |
35 Management Device Component |
8 Port Connector |
22 Portable Battery |
36 Management Device Threshold Data |
9 System Slots |
23 System Reset |
37 Memory Channel |
10 On Board Devices |
24 Hardware Security |
38 IPMI Device |
11 OEM Strings |
25 System Power Controls |
39 Power Supply |
12 System Configuration Options |
26 Voltage Probe |
40 Additional Information |
13 BIOS Language |
27 Cooling Device |
41 Onboard Device |
1.3. 應用
1、查看服務器型號:dmidecode | grep 'Product Name'
2、查看主板的序列號:dmidecode |grep 'Serial Number'
3、查看系統序列號:dmidecode -s system-serial-number
4、查看內存型號信息:dmidecode -t memory | egrep 'Manufacturer|Serial Number'
5、查看OEM信息:dmidecode -t 11
6、查看現有內存數量和內存大小:dmidecode | grep -A16 "Memory Device" | grep "Size" |sed 's/^[ \t]*//' //
7、查看最大支持內存容量:dmidecode | grep "Maximum Capacity" |sed "s/^[ \t]*//"
2. 查看CPU型號信息
2.1. lscpu簡介
lscpu從sysfs和/proc/cpuinfo收集cpu體系結構信息,命令輸出的信息包含cpu數量,線程,核數,套接字和Nom-Uniform Memeor Access(NUMA),緩存等 。
2.2. lscpu參數選項
參數選項如下:
參數選項 |
說明 |
-a, –all |
包含上線和下線的cpu的數量,此選項只能與選項e或-p一起指定 |
-b, –online |
只顯示出上線的cpu數量,此選項只能與選項e或者-p一起指定 |
-c, –offline |
只顯示出離線的cpu數量,此選項只能與選項e或者-p一起指定 |
-e, –extended [=list] |
以人性化的格式顯示cpu信息,如果list參數省略,輸出所有可用數據的列,在指定了list參數時,選項的字符串、等號(=)和列表必須不包含任何空格或其他空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’ |
-h, –help |
幫助 |
-p, –parse [=list] |
優化命令輸出,便於分析.如果省略list,則命令的輸出與早期版本的lscpu兼容,兼容格式以兩個逗號用於分隔cpu緩存列,如果沒有發現cpu緩存,則省略緩存列,如果使用list參數,則緩存列以冒號(:)分隔。在指定了list參數時,選項的字符串、等號(=)和列表必須不包含空格或者其它空白。比如:’-e=cpu,node’ or ’–extended=cpu,node’ |
-s, –sysroot directory |
為一個Linux實例收集CPU數據,而不是發出lscpu命令的實例。指定的目錄是要檢查Linux實例的系統根 |
-x, –hex |
使用十六進制來表示cpu集合,默認情況是打印列表格式的集合(例如:0,1) |
輸出格式如下:
Architecture: #架構
CPU(s): #邏輯cpu顆數
Thread(s) per core: #每個核心線程
Core(s) per socket: #每個cpu插槽核數/每顆物理cpu核數
CPU socket(s): #cpu插槽數
Vendor ID: #cpu廠商ID
CPU family: #cpu系列
Model: #型號
Stepping: #步進
CPU MHz: #cpu主頻
Virtualization: #cpu支持的虛擬化技術
L1d cache: #一級緩存(google了下,這具體表示表示cpu的L1數據緩存)
L1i cache: #一級緩存(具體為L1指令緩存)
L2 cache: #二級緩存
2.3. 應用
1、查看CPU型號:lscpu |grep "Model name" 或者 dmidecode -t Processor |grep Version
2、查看CPU邏輯核數:lscpu |grep ^CPU\(s\)
3、查看CPU 物理核數:lscpu |grep ^Core\(s\)
3. 查看磁盤型號信息
3.1. 工具介紹
3.1.1. smartctl
smartctl是smartmontools中的一個命令行工具,可以執行SMART任務。SMART是一種磁盤自我分析檢測技術,早在90年代末就基本得到了普及,每一塊硬盤(包括IDE、SCSI)在運行的時候,都會將自身的若干參數記錄下來。這些參數包括型號、容量、溫度、密度、扇區、尋道時間、傳輸、誤碼率等。硬盤運行了幾千小時后,很多內在的物理參數都會發生變化,某一參數超過報警閾值,則說明硬盤接近損壞,此時硬盤依然在工作,如果用戶不理睬這個報警繼續使用,那么硬盤將變得非常不可靠,隨時可能故障
首先通過dmesg工具,確認一下硬盤的設備符號。例如一個IDE硬盤連接到Primary IDE 總線上的Slave位置,硬盤設備符號是/dev/hdb,hdb中的h代表IDE,如果顯示為sdb,則代表SATA和SCSI。最后一個字幕b代表Primary總線,第二塊硬盤即Slave位置
3.1.2. hdparm
“ hdparm ”(即硬盤參數)是Linux的命令行程序之一,用於處理磁盤設備和硬盤。借助此命令,可以獲得有關硬盤,更改寫入間隔,聲學管理和DMA設置的統計信息。它還可以設置與驅動器高速緩存,睡眠模式,電源管理,聲學管理和DMA設置相關的參數。
3.2. 參數選項
3.2.1. smartctl參數
參數:
-h 幫助信息
-V 版本信息
-i 打印基本信息(磁盤設備號、序列號、固件版本…)
-a 打印磁盤所有的SMART信息
-q TYPE |
指定輸出的安靜模式。 |
-d TYPE |
指定磁盤的類型。如果沒有指定,smartctl會根據磁盤的名字來猜測磁盤類型。 |
-T TYPE |
指定當發生錯誤時,smartctl的容忍程度,是否繼續運行。 |
-b TYPE |
指定當發生校驗錯誤時,smartctl的動作。 |
-r TYPE |
smartmontools開發人員相關。 |
-n POWERMODE |
指定當磁盤處於節能模式時,smartctl是否繼續檢查,默認是不檢查。 |
3.2.2. hdparm參數
參數選項 |
說明 |
-a |
<快取分區> 設定讀取文件時,預先存入塊區的分區數,若不加上<快取分區>選項,則顯示目前的設定。 |
-A |
<0或1> 啟動或關閉讀取文件時的快取功能。 |
-c |
<I/O模式> 設定IDE32位I/O模式。 |
-C |
檢測IDE硬盤的電源管理模式。 |
-d |
<0或1> 設定磁盤的DMA模式。 |
-f |
將內存緩沖區的數據寫入硬盤,並清楚緩沖區。 |
-g |
顯示硬盤的磁軌,磁頭,磁區等參數。 |
-h |
顯示幫助。 |
-i |
顯示硬盤的硬件規格信息,這些信息是在開機時由硬盤本身所提供。 |
-I |
直接讀取硬盤所提供的硬件規格信息。 |
-k |
<0或1> 重設硬盤時,保留-dmu參數的設定。 |
-K |
<0或1> 重設硬盤時,保留-APSWXZ參數的設定。 |
-m |
<磁區數> 設定硬盤多重分區存取的分區數。 |
-n |
<0或1> 忽略硬盤寫入時所發生的錯誤。 |
-p |
<PIO模式> 設定硬盤的PIO模式。 |
-P |
<磁區數> 設定硬盤內部快取的分區數。 |
-q |
在執行后續的參數時,不在屏幕上顯示任何信息。 |
-r |
<0或1> 設定硬盤的讀寫模式。 |
-S |
<時間> 設定硬盤進入省電模式前的等待時間。 |
-t |
評估硬盤的讀取效率。 -T 評估硬盤快取的讀取效率。 |
-u |
<0或1>在硬盤存取時,允許其他中斷要求同時執行。-v 顯示硬盤的相關設定。 |
-W |
<0或1> 設定硬盤的寫入快取。 -X<傳輸模式> 設定硬盤的傳輸模式。 |
-y |
使IDE硬盤進入省電模式。 -Y 使IDE硬盤進入睡眠模式。 |
-Z |
關閉某些Seagate硬盤的自動省電功能。 |
3.3. 應用
查看磁盤廠家型號及序列號:
smartctl -i /dev/sda |egrep 'Model Family|Device Model|Serial Number'
或者
hdparm -i /dev/sda |grep Model
4. 查看聲卡、網卡、顯卡、USB控制器型號信息
4.1. lspci簡介
PCI是Peripheral Component Interconnect(外圍設備互聯)的簡稱,普遍使用在桌面及更大型的計算機上的外設總線。PCI架構被設計為ISA標准的替代品,它有三個主要目標:獲得在計算機和外設之間傳輸數據時更好的性能;盡可能的平台無關;簡化往系統中添加和刪除外設的工作。lspci命令就是用來顯示所有pci設備的信息。
4.2. lspci參數選項
-n:以數字方式顯示PCI廠商和設備代碼;
-t:以樹狀結構顯示PCI設備的層次關系,包括所有的總線、橋、設備以及它們之間的聯接;
-b:以總線為中心的視圖;
-d:僅顯示給定廠商和設備的信息;
-s:僅顯示指定總線、插槽上的設備和設備上的功能塊信息;
-i:指定PCI編號列表文件,而不使用默認的文件;
-m:以機器可讀方式顯示PCI設備信息.
4.3. 應用
1、查看聲卡設備型號信息:lspci |grep -i audio
2、查看網卡設備型號信息:lspci |grep -i Ethernet
3、查看顯卡設備型號信息:lspci |grep -i vga
4、查看USB控制器參數信息:lspci|grep -i usb