關於linux硬件檢測的命令


1、概念

1.1 計算機硬件:計算機硬件(Computer hardware)是指計算機系統中由電子,機械和光電元件等組成的各種物理裝置的總稱。
這些物理裝置按系統結構的要求構成一個有機整體為計算機軟件運行提供物質基礎。簡言之,計算機硬件的功能是輸入並存儲程序和數據,以及執行程序把數據加工成可以利用的形式。
從外觀上來看,微機由主機箱和外部設備組成。主機箱內主要包括CPU、內存、主板、硬盤驅動器、光盤驅動器、各種擴展卡、連接線、電源等;外部設備包括鼠標、鍵盤等。

1.2 計算機體系結構,馮諾依曼體系
計算機組成:輸入設備——存儲器、輸出設備、運算器——控制器

2、硬件查詢命令

lspci

1)PCI:PCI是一種外設總線規范。總線是一種傳輸信號的路徑或信道。典型情況是,總線是連接於一個或多個導體的電氣連線,總線上連接的所有設備可在同一時間收到所有的傳輸內容。總線由電氣接口和編程接口組成。本文討論Linux 下的設備驅動,所以,重點關注編程接口。

PCI是Peripheral Component Interconnect(外圍設備互聯)的簡稱,是普遍使用在桌面及更大型的計算機上的外 設總線。PCI架構被設計為ISA標准的替代品,它有三個主要目標:獲得在計算機和外設之間傳輸數據時更好的性能;盡可能的平台無關;簡化往系統中添加和刪除外設的工作。

2)lspci命令及參數
-v :顯示更多的 PCI 接口裝置的詳細信息
-vv:比 -v 還要更詳細的信息
-n:直接觀察 PCI 的 ID 而不是廠商名稱
-s:查詢指定總線號

第一字段:<bus>:<slot>.<func>(總線:插槽:功能類)
第二字段:設備類
第三字段:供應商

lsusb

1)USB:是英文Universal Serial Bus(通用串行總線)的縮寫,而其中文簡稱為“通串線”,是一個外部總線標准,用於規范電腦與外部設備的連接和通訊。是應用在PC領域的接口技術。USB接口支持設備的即插即用和熱插拔功能。USB是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯合提出的。

2)lsusb命令及參數
第一字段:usb主控制器號
第二字段:總線上的設備序列號
第三字段:供應商和產品ID
第四字段:供應商和產品ID的字符串表示形式

lsblk

1)Linux中I/O設備分為兩類:塊設備和字符設備。兩種設備本身沒有嚴格限制,但是,基於不同的功能進行了分類。
字符設備:提供連續的數據流,應用程序可以順序讀取,通常不支持隨機存取。相反,此類設備支持按字節/字符來讀寫數據。舉例來說,調制解調器是典型的字符設備。
塊設備:應用程序可以隨機訪問設備數據,程序可自行確定讀取數據的位置。硬盤是典型的塊設備,應用程序可以尋址磁盤上的任何位置,並由此讀取數據。此外,數據的讀寫只能以塊(通常是512B)的倍數進行。與字符設備不同,塊設備並不支持基於字符的尋址。
這兩種設備本身並沒用嚴格的區分,主要是字符設備和塊設備驅動程序提供的訪問接口(file I/O API)是不一樣的。本文主要就數據接口、訪問接口和設備注冊方法對兩種設備進行比較

2)參數
NAME : 這是塊設備名。
MAJ:MIN : 本欄顯示主要和次要設備號。
RM : 本欄顯示設備是否可移動設備。注意,在本例中設備sdb和sr0的RM值等於1,這說明他們是可移動設備。
SIZE :本欄列出設備的容量大小信息。例如298.1G表明該設備大小為298.1GB,而1K表明該設備大小為1KB。
RO : 該項表明設備是否為只讀。在本案例中,所有設備的RO值為0,表明他們不是只讀的
TYPE :本欄顯示塊設備是否是磁盤或磁盤上的一個分區。在本例中,sda和sdb是磁盤,而sr0是只讀存儲(rom)。(LCTT譯注,此處sr0的RO項沒有標記為1,可能存在一些錯誤)
MOUNTPOINT: 本欄指出設備掛載的掛載點

blkid

所有可用設備:設備通用唯一識別碼(UUID) 問卷系統類型及卷標

lscpu

1)CPU:中央處理器(CPU,Central Processing Unit)是一塊超大規模的集成電路,是一台計算機的運算核心(Core)和控制核心( Control Unit)。它的功能主要是解釋計算機指令以及處理計算機軟件中的數據。

中央處理器主要包括運算器(算術邏輯運算單元,ALU,Arithmetic Logic Unit)和高速緩沖存儲器(Cache)及實現它們之間聯系的數據(Data)、控制及狀態的總線(Bus)。它與內部存儲器(Memory)和輸入/輸出(I/O)設備合稱為電子計算機三大核心部件。

2)命令及參數
Architecture: i686         # 架構686
CPU(s): 12                 # 邏輯cpu
Thread(s) per core: 1      # 每個核心線程數
Core(s) per socket: 6      # 每個物理cpu核數
CPU socket(s): 2           # cpu插槽數
Vendor ID: GenuineIntel    #cpu廠商ID是GenuineIntel
CPU family: 6              #cpu系列是6
Model: 23                  # 型號23
Stepping: 10               # 步進是10
CPU MHz: 800.000           # cpu主頻是800MHz
Virtualization: VT-x       # cpu支持的虛擬化技術VT-x
L1d cache: 32K             # 一級緩存32K(google了下,這具體表示表示cpu的L1數據緩存為32k)
L1i cache: 32K             # 一級緩存32K(具體為L1指令緩存為32K)
L2 cache: 3072K            # 二級緩存3072K

/proc/cpuinfo

1)/proc:Linux 內核提供了一種通過 /proc 文件系統,在運行時訪問內核內部數據結構、改變內核設置的機制。proc文件系統是一個偽文件系統,它只存在內存當中,而不占用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供接口。

用戶和應用程序可以通過proc得到系統的信息,並可以改變內核的某些參數。由於系統的信息,如進程,是動態改變的,所以用戶或應用程序讀取proc文件時,proc文件系統是動態從系統內核讀出所需信息並提交的。

2)參數
processor :系統中邏輯處理核的編號。對於單核處理器,則課認為是其CPU編號,對於多核處理器則可以是物理核、或者使用超線程技術虛擬的邏輯核
vendor_id :CPU制造商
cpu family :CPU產品系列代號
model :CPU屬於其系列中的哪一代的代號
model name :CPU屬於的名字及其編號、標稱主頻
stepping :CPU屬於制作更新版本
cpu MHz :CPU的實際使用主頻
cache size :CPU二級緩存大小
physical id :單個CPU的標號
siblings :單個CPU邏輯物理核數
core id :當前物理核在其所處CPU中的編號,這個編號不一定連續
cpu cores :該邏輯核所處CPU的物理核數
apicid :用來區分不同邏輯核的編號,系統中每個邏輯核的此編號必然不同,此編號不一定連續
fpu :是否具有浮點運算單元(Floating PointUnit)
fpu_exception :是否支持浮點計算異常
cpuid level :執行cpuid指令前,eax寄存器中的值,根據不同的值cpuid指令會返回不同的內容
wp :表明當前CPU是否在內核態支持對用戶空間的寫保護(Write Protection)
flags :當前CPU支持的功能
bogomips :在系統內核啟動時粗略測算的CPU速度(Million Instructions Per Second)
clflush size :每次刷新緩存的大小單位
cache_alignment:緩存地址對齊單位
address sizes :可訪問地址空間位數
power management :對能源管理的支持

/proc/meminfo

MemTotal: 所有可用RAM大小 (即物理內存減去一些預留位和內核的二進制代碼大小)
MemFree: LowFree與HighFree的總和,被系統留着未使用的內存
Buffers: 用來給文件做緩沖大小
Cached: 被高速緩沖存儲器(cache memory)用的內存的大小(等於 diskcache minus SwapCache )
SwapCached:被高速緩沖存儲器(cache memory)用的交換空間的大小已經被交換出來的內存,但仍然被存放在swapfile中。用來在需要的時候很快的被替換而不需要再次打開I/O端口。
Active: 在活躍使用中的緩沖或高速緩沖存儲器頁面文件的大小,除非非常必要否則不會被移作他用
Inactive: 在不經常使用中的緩沖或高速緩沖存儲器頁面文件的大小,可能被用於其他途徑.
HighFree: 該區域不是直接映射到內核空間。內核必須使用不同的手法使用該段內存。
LowFree: 低位可以達到高位內存一樣的作用,而且它還能夠被內核用來記錄一些自己的數據結構。 
LowFree: 低位可以達到高位內存一樣的作用,而且它還能夠被內核用來記錄一些自己的數據結構。
SwapTotal: 交換空間的總大小
SwapFree: 未被使用交換空間的大小
Dirty: 等待被寫回到磁盤的內存大小。
Writeback: 正在被寫回到磁盤的內存大小。
AnonPages:未映射頁的內存大小
Mapped: 設備和文件等映射的大小。
Slab: 內核數據結構緩存的大小,可以減少申請和釋放內存帶來的消耗。 
SReclaimable:可收回Slab的大小
SUnreclaim:不可收回Slab的大(SUnreclaim+SReclaimable=Slab)
PageTables:管理內存分頁頁面的索引表的大小。
NFS_Unstable:不穩定頁表的大小
VmallocTotal: 可以vmalloc虛擬內存大小
VmallocUsed: 已經被使用的虛擬內存大小。
注:buffers和cache:buffers是指高速緩沖區的大小,是一個空間大小的概念,運行程序常用的數據,在第一次運行時系統會把它們暫時緩存在一個高速的存儲區域,以后再用時就直接從這個區域讀取數據供程序使用,存取這些數據的介質,因其讀寫速度比硬盤和內存要快得多,所以,buffers的大小對電腦運行速度的影響是很大的,但這些數據重啟電腦或關機后就會自動消失。而cached是指緩存的數據,是真正意義上的實在東西,例如你常用的程序,由於一些數據是這些程序運行經常要使用到的,系統就會把它們形成文件,緩存到一個特定的位置,下次你再運行該程序時,就會自動到緩存的位置讀取數據供程序運行使用,存儲這些數據的區域是在電腦的硬盤上,理論上講讀寫速度是不變的,只是節省了尋找這些數據的時間而也,這樣也可間接地提高了電腦的運行效率。buffers是指用來給塊設備做的緩沖大小,cached是用來給文件做緩沖。 

/proc/interrupts

1)中斷:中斷是指CPU對系統發生的某個事件作出的一種反應:CPU暫停正在執行的程序,保留現場后自動轉去執行相應的處理程序,處理完該事件后再返回斷點繼續執行被“打斷”的程序。 中斷類型:
強迫性中斷:輸入輸出中斷;硬件故障中斷;時鍾中斷;控制台中斷;程序性中斷;
自願性中斷 CPU暫停現行程序而轉去響應中斷請求的過程稱為中斷響應;為使系統能及時響應並處理發生的所有中斷,系統根據引起中斷事件的重要性和緊迫程序,硬件將中斷源分為若干個級別,稱作中斷優先級;中斷屏蔽是指在提出中斷請求之后,CPU不予響應的狀態。
中斷處理分為四個階段:
a.保存被中斷程序的現場,其目的是為了在中斷處理完之后,可以返回到原來被中斷的地方繼續執行
b.分析中斷源,判斷中斷原因;
c.轉去執行相應的處理程序;
d.恢復被中斷程序現場,繼續執行被中斷程序。

2)命令及參數
中斷序號:在CPU0上發生中斷的次數 在CPU1上發生中斷的次數 可編程的中斷控制器 設備名稱

hdparm

1)硬盤接口類型:從整體的角度上,硬盤接口分為IDE、SATA、SCSI和光纖通道四種,IDE接口硬盤多用於家用產品中,也部分應用於服務器,SCSI接口的硬盤則主要應用於服務器市場,而光纖通道只在高端服務器上,價格昂貴。SATA是目前比較流行的的硬盤接口類型,目前市場上最普及的接口類型,在IDE和SCSI的大類別下,又可以分出多種具體的接口類型,又各自擁有不同的技術規范。具備不同的傳輸速度,比如ATA100和SATA;Ultra160 SCSI和Ultra320 SCSI都代表着一種具體的硬盤接口,各自的速度差異也較大。 

如沒有該命令則 yum -y install hdparm 來安裝

2)命令及參數
i:顯示硬盤的硬件規格信息          
t:評估硬盤的read效率
T:評估硬盤的快取的read效率

# 顯示硬盤相關信息:                     
~# hdparm  /dev/sda

#查看硬盤的柱面,磁頭,扇區,總扇區,起始扇區: 
~# hdparm –g /dev/sda

# 測試硬盤的讀取效率:                     
~# hdparm -t /dev/sda

sdparm

1)小型計算機系統接口(英語:Small Computer SystemInterface; 簡寫:SCSI),一種用於計算機和智能設備之間(硬盤、軟驅、光驅、打印機、掃描儀等)系統級接口的獨立處理器標准。是一種智能的通用接口標准,它具備與多種類型的外設進行通信。SCSI采用ASPI(高級SCSI編程接口)的標准軟件接口使驅動器和計算機內部安裝的SCSI適配器進行通信。SCSI接口廣泛應用於小型機上的高速數據傳輸技術。SCSI接口具有應用范圍廣、多任務、帶寬大、CPU占用率低,以及熱插拔等優點。

2)顯示硬盤相關信息: #sdparm   /dev/sda

注:如果沒有該命令則 yum -y install sdparm 來安裝

smart

1)Self- Monitoring Analysis andReporting Technology(自動檢測分析及報告技術)的簡寫。可實時對硬盤的磁頭單元、硬盤溫度、盤片表面介質材料、馬達及其驅動系統、硬盤內部電路等進行監測,及時分析並預報硬盤可能發生的問題。

2)命令及參數
-H:查看硬盤健康狀態            
-t short:后台檢測硬盤,耗時短
-t long:后台檢測硬盤,耗時長      
-C -t short:前台檢測硬盤,耗時短
-C -t long:前台檢測硬盤,耗時長

smartctl   -i   -d   auto   /dev/sda | grep  “SMART support is” 

# 顯示硬盤的信息,查看SMART是否支持
smartctl  -s  on  -d  ata  /dev/sda      # 開啟SMART特性
smartctl  -H  /dev/sda                   # 檢測磁盤健康狀態

dmidecode

1)Dmidecode 這款軟件允許你在 Linux 系統下獲取有關硬件方面的信息。Dmidecode 遵循SMBIOS/DMI 標准,其輸出的信息包括 BIOS、系統、主板、處理器、內存、緩存等等。DMI (Desktop Management Interface, DMI)就是幫助收集電腦系統信息的管理系統,DMI信息的收集必須在嚴格遵照SMBIOS規范的前提下進行DMI充當了管理工具和系統層之間接口的角色。它建立了標准的可管理系統更加方便了電腦廠商和用戶對系統的了解。DMI的主要組成部分是Management Information Format (MIF)數據庫。這個數據庫包括了所有有關電腦系統和配件的信息。通過DMI,用戶可以獲取序列號、電腦廠商、串口信息以及其它系統配件信息。 

2)查看BIOS信息: dmidecode | head   -10
以上輸出中,前面4條是dmidecode命令整體信息,“25 structures occupying 844 bytes.”該行指示該機器的DMI記錄項總共有25條。后面就是DMI表中各條記錄,每條記錄的輸出格式 如下:
Record Header: Handle {record id}, DMI type {dmitype 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類型相關的字段描述 

3) 通過dmidecode查詢主板(Base Board)的信息:dmidecode -t  2
# dmidecode –t baseboard                     通過設備關鍵詞   
# dmidecode –t 16 | grep  Max                使用dmidecode命令查詢內存支持最大信息:  
# dmidecode –t 16 | grep  Number             使用dmidecode命令查詢內存插槽信息:  
# dmidecode -t 17 | grep "Size.*MB" | wc -l  查詢內存條數: 
# dmidecode -t 17 | grep Size                使用dmidecode命令查詢內存單條還是雙條: 
# dmidecode | grep -i product                查詢機器型號:  
# dmidecode -t 4                             查詢物理CPU信息:  

.
.
.
.
游走在各發行版間老司機QQ群:905201396
不要嫌啰嗦的新手QQ群:756805267
Debian適應QQ群:912567610


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM