原貼:http://server.zdnet.com.cn/server/2008/0319/775624.shtml
Linux伺服器監控之實時監控加載硬體資訊
ZDNet 伺服器頻道 更新時間:2008-03-19 作者:華江 來源:IT168
本文關鍵詞:PID Windows 硬體資訊 監控 伺服器 Linux
ZDNetChina伺服器站 2008-03-19 技巧
Linux 負有盛名的特點之一是其非凡的穩定性。然而,如果您的硬體有缺陷或配置不正确,即使是世界上最穩定的作業系統也不會對您有什麼幫助。計算機系統是由軟體系統硬體系統組成的,檢測硬體狀态對于保障整個系統的穩定是非常重要的。不論作業系統是使用Linux、還是Windows,一旦硬體出現故障,那麼整個系統的安全就嚴重了。這裡我們則主要針對硬體進行監控。
一、 硬體監控的實作原理
我們看一下Linux根目錄下:/proc目錄的内容,每個Linux系統根據軟硬體不同/proc 虛拟檔案系統的内容也有些差異。/proc 虛拟檔案系統有三個很重要的目錄:net,scsi和sys。Sys目錄是可寫的,可以通過它來通路或修改核心的參數,而net和scsi則依賴于核心配置。例如,如果系統不支援scsi,則scsi目錄不存在。除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是程序目錄。net目錄包括多個 ASCII 格式的網絡僞檔案, 描述了網絡層的部分情況,可以用arp 、netstat、route等指令來查詢這些檔案。除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是程序目錄。系統中目前運作的每一個程序都有對應的一個目錄在/proc下,以程序的 PID号為目錄名,它們是讀取程序資訊的接口。而self目錄則是讀取程序本身的資訊接口,是一個連結(link)。Proc檔案系統的名字就是由之而起。
/proc 目錄裡主要檔案内容,見表-1:
二、 指令行下檢測加載硬體
1. 指令行下的硬體浏覽器dmidecode
Dmidecode是指令行下擷取硬體資訊的工具,官方網站:,最新版本: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是基本輸入/輸出系統的縮寫。BIOS是機器的硬體自帶的、在電腦沒有通路磁盤上程式之前決定機器基本功能的軟體系統 。運作指令:./ BIOSdecode,界面見圖1。
圖1 Linux計算機BIOS資訊
下面我們詳細介紹圖1三個主要内容。
1. SMBIOS
SMBIOS即System Management BIOS以結構的方式儲存了用于管理的系統資訊。是一種符合桌上型電腦管理接口(dmi) 的方法,它用來管理受控網絡中的計算機。SMBIOS 的主要組成部分是管理資訊格式(mif) 資料庫,其中包括有關計算系統及其元件的資訊。使用SMBIOS,系統管理者可以或得系統類型、功能、操作狀态以及系統元件的,安裝日期。mif 資料庫定義資料并提供通路該資訊的方法。BIOS 可以使諸如第三方管理軟體等應用程式使用SMBIOS。
2.PNP BIOS
PNP BIOS即插即用BIOS,PnP 把 PnP 資源自動配置設定給硬體和對應的軟體. 就是, 把裝置和它們的驅動程式配對并建立通信信道. Linux 需要 PnP ,Wintel(Microsoft 和 Intel) 創造了 PnP. 由于種種原因, Linux 小區有人不喜歡 PnP. 但不管喜歡與否, 今天的硬體大部分是 PnP 的, 除了有效的處理 PnP 外, Linux 别無選擇。
3. APM和ACPI電源管理
它們分别是APM(Advanced Power Management,進階電源管理)和ACPI(Advanced Configuration and Power Interface進階配置電源界面)。Linux都支援兩種形式的電源管理:
(1)APM
目前APM 1.2是最新的APM标準,是一種基于BIOS的系統電源管理方案,它提供了CPU和裝置電源管理并通過裝置活動逾時設定來決定何時将裝置轉換到低耗能狀态。APM軟體組成如下:一個pmd守護程序,用來監視電池的使用情況;多個實用工具軟體,用來顯示和響應電池事件。它們包含于apmd軟體包中。
(2)ACPI
ACPI針對APM的缺陷而誕生。由于APM具有以上不足,ACPI應運而生,ACPI就是為了解決APM的缺陷而面世的。ACPI(Advanced Configuration and Power Interface,進階配置和電源界面)是一個由COMPAQ、Intel、Microsoft、Phoenix和Toshiba共同開發的開放的工業規範。ACPI建立了工業标準接口,這樣作業系統在膝上型電腦、桌上型電腦及伺服器上就可以直接配置和電源管理。ACPI将現有的電源管理BIOS代碼、APM應用程式設計接口、PNP BIOS應用程式設計接口、多處理器規範表格等集合成一種新的電源管理和配置接口規範。該規範的好處就是,如果能確定新的電源管理技術能與作業系統及硬體協調工作的話,那就可以獨立用作業系統和硬體來發展新的電源管理技術。ACPI允許作業系統(而不是BIOS)控制電源管理,這一點與APM不相同。ACPI标準定義了硬體寄存器、BIOS接口(包含配置表格、控制方法以及主機闆裝置列舉和配置)、系統和裝置的電源狀态和ACPI熱模型。BIOS提供的支援代碼不是用彙編語言而是用AML(ACPI Machine Language,ACPI機器語言)編寫的。BIOS不能決定用于電源管理或資源管理的政策或逾時。最後要指出的是系統中的所有裝置可以互相進行通訊來了解彼此的使用情況,而且都受作業系統的控制,作業系統對正在運作的系統的狀态了如指掌,是以作業系統處于執行電源管理的最佳位置。
ACPId事件守護程序一方面監視電源事件,另一方面用來設定響應這些事件的規則,這些規則用來關閉某些硬體或關掉系統電源等。ACPI是一款設計用來替代APM電源管理的更具通用性的工具軟體,但是目前它還需進一步完善。綜上所述,ACPI比APM有着很多的優勢,是以推薦大家使用ACPI來對Linux系統進行電源管理。
dmidecode
dmidecode可以說是一個指令行下全面的硬體浏覽器。和一些Linux發行版本的硬體浏覽器(lspci)相比,它可以提供的資訊非常豐富。
運作指令:./dmidecode ,界面見圖2。
圖2 dmidecode工作界面
dmidecode 是一個指令行工具,使用方法如下:
dmidecode [選項]
常用選項如下:
-d, --dev-mem FILE :從記憶體裝置讀如檔案 (确省是: /dev/mem 檔案)。
-h, --help :顯示幫助資訊并且退出。
-q, --quiet :直接退出。
-s, --string KEYWORD :隻顯示符合桌上型電腦管理接口(dmi) 的資訊。
-t, --type TYPE :顯示全部資訊。
-u, --dump :顯示簡單資訊。
-V, --version :顯示版本資訊并且退出。
應用執行個體:由于提供的資訊非常豐富,我們以中央處理器、AGP擴充槽、記憶體、主機闆。為例子。
1. 使用dmidecode檢測中央處理器
中央處理器是Linux主機的核心硬體。可以使用dmidecode檢視中央處理器各項參數,已經有無缺陷。
指令如下:
#dmidecode |grep –A20 "Processor"|more
注:-A20表示顯示一下的行數,你可以根據自己的情況修改。工作界面如圖3。
圖3 檢視中央處理器資訊
從圖3可以全面檢視中央處理器的所有資訊。關鍵屬性包括:系列型号 Duron;接口類型 SocketA;主頻 1.1G;封裝技術uPGA;核心類型Athlon;
前端總線 200MHz;FSB外頻 100MHz;倍頻 11;二級緩存容量 64KB;核心電壓 ;超線程技術 不支援;3D NOW 支援;MMX 支援。下面介紹一些和Linux運作相關的主要硬體資訊:
FPU: (Float Point Unit,浮點運算單元)FPU是專用于浮點運算的處理器,以前的FPU是一種單獨晶片,在486之後,英特爾把FPU與內建在CPU之内。
PAE :(Physical Address Extensions,實體位址擴充模式) 随着 Pentium Pro 的發行,Intel 在其進階處理器上引入了一個稱作 PAE (實體位址擴充) 的模式。通過使用 PAE,Solaris Intel 平台版本 可以尋址最大達 32 GB 的實體記憶體。單個程序仍受限于最大 3.5 GB 的虛拟位址空間。 PAE 模式使您能夠運作資料庫和記憶體密集型應用程式的多個執行個體,并能支援您機器上大量聯機使用者。
TSC (Time stamp counter):它利用CPU的時鐘計數器TSC (Time Stamp Counter)來提供精度可達CPU主頻的時間精度。通用PC自帶兩個時鐘源:硬體時鐘和軟體時鐘(或稱為系統時鐘).通路硬體時鐘開銷較大,系統運作時通常不使用.軟體時鐘是排程系統任務和使用者任務的計時依據,Linux的系統調用gettimeofday()可以讀取到,它依據定時器中斷計數來完成計時。
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總線插槽:
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 指令來列舉所有的 PCI 裝置。使用 lspci -v 指令來獲得詳細的資訊,或使用 lspci -vv 指令來獲得更詳細的輸出。 譬如, lspci 指令可以被用來判定系統視訊卡的制造廠商、型号、以及顯示記憶體大小。
三、 圖形環境下檢測加載硬體
1. 系統工具hwbrowser
如果你在圖形工作界面配置硬體時遇到問題,或者隻是想了解一下你的系統中有哪些硬體,你可以使用 硬體浏覽器 程式來顯示能被探測到的硬體。要在桌面環境下啟動該程式,點選 「主菜單」 => 「系統工具」 => 「硬體浏覽器」 ,或在 shell 提示下鍵入 hwbrowser 。如圖 4 所示,它顯示了你的CD光牒裝置、軟碟、硬碟驅動器和它們的分區、網絡裝置、訓示裝置、系統裝置、以及視訊卡。點選左側菜單上的類别名稱,有關資訊就會被顯示。
圖 4 圖形界面的硬體浏覽器
2. 專用工具lshw
lshw是Hardware Lister縮寫,一個專業的硬體浏覽器,和dmidecode相比它顯示界面更加專業和友好,可以存儲為HTML、XML格式。另外其還有一個圖形前端(lshw-gui)。
lshw官方網站:最新版本: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使用說明:
lshw [-格式] [-選項...]
格式包括:
-html :使用HTML格式輸出。
-xml :使用HTML格式輸出。
-short :輸出硬體路徑。
-businfo :輸出總線資訊。
-X :使用圖形形式輸出。
選項包括:
-class CLASS :分級輸出資訊。
-disable TEST :不輸出測試資訊。
-enable TEST :輸出測試資訊。
應用執行個體:
1. Linux浏覽器下硬體清單
使用指令:
Lshw –html >lshw.html
2. 圖形界面下的硬體浏覽器
使用指令:
Lshw –X
總結:本文中我們了解Linux硬體種類;指令行下檢視Linux硬體清單以及圖形界面下檢視Linux硬體清單。下次将介紹Linux 伺服器硬體溫度監控。