Linux 負有盛名的特點(diǎn)之一是其非凡的穩定性。然而,如果您的硬件有缺陷或配置不正確,即使是世界上最穩定的操作系統也不會(huì )對您有什么幫助。計算機系統是由軟件系統硬件系統組成的,檢測硬件狀態(tài)對于保障整個(gè)系統的穩定是非常重要的。不論操作系統是使用Linux、還是Windows,一旦硬件出現故障,那么整個(gè)系統的安全就嚴重了。這里我們則主要針對硬件進(jìn)行監控。
一、 硬件監控的實(shí)現原理
我們看一下Linux根目錄下:/proc目錄的內容,每個(gè)Linux系統根據軟硬件不同/proc 虛擬文件系統的內容也有些差異。/proc 虛擬文件系統有三個(gè)很重要的目錄:net,scsi和sys。Sys目錄是可寫(xiě)的,可以通過(guò)它來(lái)訪(fǎng)問(wèn)或修改內核的參數,而net和scsi則依賴(lài)于內核配置。例如,如果系統不支持scsi,則scsi目錄不存在。除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是進(jìn)程目錄。net目錄包括多個(gè) ASCII 格式的網(wǎng)絡(luò )偽文件, 描述了網(wǎng)絡(luò )層的部分情況,可以用arp 、netstat、route等命令來(lái)查詢(xún)這些文件。除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是進(jìn)程目錄。系統中當前運行的每一個(gè)進(jìn)程都有對應的一個(gè)目錄在/proc下,以進(jìn)程的 PID號為目錄名,它們是讀取進(jìn)程信息的接口。而self目錄則是讀取進(jìn)程本身的信息接口,是一個(gè)鏈接(link)。Proc文件系統的名字就是由之而起。
/proc 目錄里主要文件內容,見(jiàn)表-1:
二、 命令行下檢測加載硬件
1. 命令行下的硬件瀏覽器dmidecode
Dmidecode是命令行下獲取硬件信息的工具,官方網(wǎng)站:,最新版本:2.8。下載安裝方法:
#wegt http://download.savannah.gnu.org/releases/dmidecode/dmidecode-2.8.tar.gz
# gunzip dmidecode-2.8.tar.gz
#cd dmidecode-2.8
#make;make install
(1) BIOS信息查看工具:BIOSdecode
BIOS是基本輸入/輸出系統的縮寫(xiě)。BIOS是機器的硬件自帶的、在電腦沒(méi)有訪(fǎng)問(wèn)磁盤(pán)上程序之前決定機器基本功能的軟件系統 。運行命令:./ BIOSdecode,界面見(jiàn)圖1。
圖1 Linux計算機BIOS信息
下面我們詳細介紹圖1三個(gè)主要內容。
1. SMBIOS
SMBIOS即System Management BIOS以結構的方式保存了用于管理的系統信息。是一種符合臺式機管理接口(dmi) 的方法,它用來(lái)管理受控網(wǎng)絡(luò )中的計算機。SMBIOS 的主要組成部分是管理信息格式(mif) 數據庫,其中包括有關(guān)計算系統及其組件的信息。使用SMBIOS,系統管理員可以或得系統類(lèi)型、功能、操作狀態(tài)以及系統組件的,安裝日期。mif 數據庫定義數據并提供訪(fǎng)問(wèn)該信息的方法。BIOS 可以使諸如第三方管理軟件等應用程序使用SMBIOS。
2.PNP BIOS
PNP BIOS即插即用BIOS,PnP 把 PnP 資源自動(dòng)分配給硬件和對應的軟件. 就是, 把設備和它們的驅動(dòng)程序配對并建立通信信道. Linux 需要 PnP ,Wintel(Microsoft 和 Intel) 創(chuàng )造了 PnP. 由于種種原因, Linux 小區有人不喜歡 PnP. 但不管喜歡與否, 今天的硬件大部分是 PnP 的, 除了有效的處理 PnP 外, Linux 別無(wú)選擇。
3. APM和ACPI電源管理
它們分別是APM(Advanced Power Management,高級電源管理)和ACPI(Advanced Configuration and Power Interface高級配置電源界面)。Linux都支持兩種形式的電源管理:
(1)APM
目前APM 1.2是最新的APM標準,是一種基于BIOS的系統電源管理方案,它提供了CPU和設備電源管理并通過(guò)設備活動(dòng)超時(shí)設定來(lái)決定何時(shí)將設備轉換到低耗能狀態(tài)。APM軟件組成如下:一個(gè)pmd守護進(jìn)程,用來(lái)監視電池的使用情況;多個(gè)實(shí)用工具軟件,用來(lái)顯示和響應電池事件。它們包含于apmd軟件包中。
(2)ACPI
ACPI針對APM的缺陷而誕生。由于A(yíng)PM具有以上不足,ACPI應運而生,ACPI就是為了解決APM的缺陷而面世的。ACPI(Advanced Configuration and Power Interface,高級配置和電源界面)是一個(gè)由COMPAQ、Intel、Microsoft、Phoenix和Toshiba共同開(kāi)發(fā)的開(kāi)放的工業(yè)規范。ACPI建立了工業(yè)標準接口,這樣操作系統在膝上型電腦、桌上型電腦及服務(wù)器上就可以直接配置和電源管理。ACPI將現有的電源管理BIOS代碼、APM應用編程接口、PNP BIOS應用編程接口、多處理器規范表格等集合成一種新的電源管理和配置接口規范。該規范的好處就是,如果能確保新的電源管理技術(shù)能與操作系統及硬件協(xié)調工作的話(huà),那就可以獨立用操作系統和硬件來(lái)發(fā)展新的電源管理技術(shù)。ACPI允許操作系統(而不是BIOS)控制電源管理,這一點(diǎn)與APM不相同。ACPI標準定義了硬件寄存器、BIOS接口(包含配置表格、控制方法以及主板設備列舉和配置)、系統和設備的電源狀態(tài)和ACPI熱模型。BIOS提供的支持代碼不是用匯編語(yǔ)言而是用AML(ACPI Machine Language,ACPI機器語(yǔ)言)編寫(xiě)的。BIOS不能決定用于電源管理或資源管理的策略或超時(shí)。最后要指出的是系統中的所有設備可以互相進(jìn)行通訊來(lái)了解彼此的使用情況,而且都受操作系統的控制,操作系統對正在運行的系統的狀態(tài)了如指掌,所以操作系統處于執行電源管理的最佳位置。
ACPId事件守護進(jìn)程一方面監視電源事件,另一方面用來(lái)設置響應這些事件的規則,這些規則用來(lái)關(guān)閉某些硬件或關(guān)掉系統電源等。ACPI是一款設計用來(lái)替代APM電源管理的更具通用性的工具軟件,但是目前它還需進(jìn)一步完善。綜上所述,ACPI比APM有著(zhù)很多的優(yōu)勢,所以推薦大家使用ACPI來(lái)對Linux系統進(jìn)行電源管理。
dmidecode
dmidecode可以說(shuō)是一個(gè)命令行下全面的硬件瀏覽器。和一些Linux發(fā)行版本的硬件瀏覽器(lspci)相比,它可以提供的信息非常豐富。
運行命令:./dmidecode ,界面見(jiàn)圖2。
圖2 dmidecode工作界面
dmidecode 是一個(gè)命令行工具,使用方法如下:
dmidecode [選項]
常用選項如下:
-d, --dev-mem FILE :從內存設備讀如文件 (確省是: /dev/mem 文件)。
-h, --help :顯示幫助信息并且退出。
-q, --quiet :直接退出。
-s, --string KEYWORD :只顯示符合臺式機管理接口(dmi) 的信息。
-t, --type TYPE :顯示全部信息。
-u, --dump :顯示簡(jiǎn)單信息。
-V, --version :顯示版本信息并且退出。
應用實(shí)例:由于提供的信息非常豐富,我們以中央處理器、AGP擴展槽、內存、主板。為例子。
1. 使用dmidecode檢測中央處理器
中央處理器是Linux主機的核心硬件??梢允褂胐midecode查看中央處理器各項參數,已經(jīng)有無(wú)缺陷。
命令如下:
#dmidecode |grep –A20 "Processor"|more
注:-A20表示顯示一下的行數,你可以根據自己的情況修改。工作界面如圖3。
圖3 查看中央處理器信息
從圖3可以全面查看中央處理器的所有信息。關(guān)鍵屬性包括:系列型號 Duron;接口類(lèi)型 SocketA;主頻 1.1G;封裝技術(shù)uPGA;核心類(lèi)型Athlon;
前端總線(xiàn) 200MHz;FSB外頻 100MHz;倍頻 11;二級緩存容量 64KB;核心電壓 ;超線(xiàn)程技術(shù) 不支持;3D NOW 支持;MMX 支持。下面介紹一些和Linux運行相關(guān)的主要硬件信息:
FPU: (Float Point Unit,浮點(diǎn)運算單元)FPU是專(zhuān)用于浮點(diǎn)運算的處理器,以前的FPU是一種單獨芯片,在486之后,英特爾把FPU與集成在CPU之內。
PAE :(Physical Address Extensions,物理地址擴展模式) 隨著(zhù) Pentium Pro 的發(fā)行,Intel 在其高級處理器上引入了一個(gè)稱(chēng)作 PAE (物理地址擴展) 的模式。通過(guò)使用 PAE,Solaris Intel 平臺版本 可以尋址最大達 32 GB 的物理內存。單個(gè)進(jìn)程仍受限于最大 3.5 GB 的虛擬地址空間。 PAE 模式使您能夠運行數據庫和內存密集型應用程序的多個(gè)實(shí)例,并能支持您機器上大量聯(lián)機用戶(hù)。
TSC (Time stamp counter):它利用CPU的時(shí)鐘計數器TSC (Time Stamp Counter)來(lái)提供精度可達CPU主頻的時(shí)間精度。通用PC自帶兩個(gè)時(shí)鐘源:硬件時(shí)鐘和軟件時(shí)鐘(或稱(chēng)為系統時(shí)鐘).訪(fǎng)問(wèn)硬件時(shí)鐘開(kāi)銷(xiāo)較大,系統運行時(shí)通常不使用.軟件時(shí)鐘是調度系統任務(wù)和用戶(hù)任務(wù)的計時(shí)依據,Linux的系統調用gettimeofday()可以讀取到,它依據定時(shí)器中斷計數來(lái)完成計時(shí)。
2. 查看主板的序列號
dmidecode |grep 'Serial Number'
Serial Number: SYS-1234567890
Serial Number: xxxxxxxxxxx
Serial Number: Chassis Serial Number
3. 顯示內存條安裝情況:
dmidecode |grep -A16 "Memory Device"
4. 查看主板的AGP總線(xiàn)插槽:
dmidecode |grep -A2 "AGP"
AGP is supported
Handle 0x0001, DMI type 1, 25 bytes
Designation: AGP
Type: 32-bit AGP 2x
Current Usage: In Use
Length: Short
另外你還可以使用 lspci 命令來(lái)列舉所有的 PCI 設備。使用 lspci -v 命令來(lái)獲得詳細的信息,或使用 lspci -vv 命令來(lái)獲得更詳細的輸出。 譬如, lspci 命令可以被用來(lái)判定系統視頻卡的制造廠(chǎng)商、型號、以及顯示內存大小。
三、 圖形環(huán)境下檢測加載硬件
1. 系統工具hwbrowser
如果你在圖形工作界面配置硬件時(shí)遇到問(wèn)題,或者只是想了解一下你的系統中有哪些硬件,你可以使用 硬件瀏覽器 程序來(lái)顯示能被探測到的硬件。要在桌面環(huán)境下啟動(dòng)該程序,點(diǎn)擊 「主菜單」 => 「系統工具」 => 「硬件瀏覽器」 ,或在 shell 提示下鍵入 hwbrowser 。如圖 4 所示,它顯示了你的光盤(pán)設備、軟盤(pán)、硬盤(pán)驅動(dòng)器和它們的分區、網(wǎng)絡(luò )設備、指示設備、系統設備、以及視頻卡。點(diǎn)擊左側菜單上的類(lèi)別名稱(chēng),有關(guān)信息就會(huì )被顯示。
圖 4 圖形界面的硬件瀏覽器
2. 專(zhuān)用工具lshw
lshw是Hardware Lister縮寫(xiě),一個(gè)專(zhuān)業(yè)的硬件瀏覽器,和dmidecode相比它顯示界面更加專(zhuān)業(yè)和友好,可以存儲為HTML、XML格式。另外其還有一個(gè)圖形前端(lshw-gui)。
lshw官方網(wǎng)站:最新版本:2.07。主程序下載璉接:http://ezix.org/software/files/lshw-B.02.07.tar.gz 。圖形前端下載璉接:ftp://ftp.freshrpms.net/pub/dag/redhat/el4/en/i386/dag/RPMS/lshw-gui-2.05.01-1.2.el4.rf.i386.rpm
lshw使用說(shuō)明:
lshw [-格式] [-選項...]
格式包括:
-html :使用HTML格式輸出。
-xml :使用HTML格式輸出。
-short :輸出硬件路徑。
-businfo :輸出總線(xiàn)信息。
-X :使用圖形形式輸出。
選項包括:
-class CLASS :分級輸出信息。
-disable TEST :不輸出測試信息。
-enable TEST :輸出測試信息。
應用實(shí)例:
1. Linux瀏覽器下硬件列表
使用命令:
Lshw –html >lshw.html
2. 圖形界面下的硬件瀏覽器
使用命令:
Lshw –X
總結:本文中我們了解Linux硬件種類(lèi);命令行下查看Linux硬件列表以及圖形界面下查看Linux硬件列表。下次將介紹Linux 服務(wù)器硬件溫度監控。
本文來(lái)自CSDN博客,轉載請標明出處:http://blog.csdn.net/chinalinuxzend/archive/2008/09/04/2878370.aspx
聯(lián)系客服