當系統受到損壞時,專業程序員都用它診斷是不是硬件的問題!
譯文【51CTO.com快譯】由于擁有許多優點,Linux是一種靈活而通用的操作系統。然而,它有諸多不太知名的應用程序,其中之一可用作硬件診斷工具。
為了進行功能測試和性能測試,許多人仍往往依賴在其他操作系統上運行的價格不菲的特殊解決方案,但是小小的StressLinux Live發行版讓你可以測試系統的功能,無需復雜處理,也無需其他工具的高昂成本。
StressLinux作為一款Live“迷你發行版”,StressLinux可幫助你迅速可靠地找到錯誤和瓶頸的潛在根源,不需要耗費時間地安裝到硬盤上。尤其是,如果你想排查處理器或散熱系統存在的問題,StressLinux就是一款出色的工具。當然,你需要密切關注系統在負載狀態下的散熱性能,防止因萬一散熱能力不足而過熱、導致系統受到損壞。
1.黑盒子
啟動后,StressLinux最初彈出很老土的文本屏幕和黑色背景的簡陋線圖形。一旦操作系統準備就緒,你需要登錄:用戶名和密碼都是stress。接下來是文本模式下的YaST2配置工具,需要的話它會在熟悉的藍色窗口中定制鍵盤。軟件提示你輸入主板型號。如果你不確信自己安裝了哪種主板,或者你使用的筆記本電腦搭載專門為移動使用設計的主板,只要摁OK按鈕,就可以啟用***個表項Run_sensors-detect。然后,你的硬件通過幾個步驟來加以檢查,檢查有無各種傳感器。一旦完成,系統會在表格中顯示可能的測試和基準測試命令,顯示提示符,等你輸入(見圖1)。
圖1:StressLinux提供了眾多壓力測試。
表格的頂部顯示了數量驚人的測試例行程序,它們是針對特定硬件而定制的。這些例行程序按廠商英特爾和AMD來排序。下面是涵蓋一系列更廣泛的測試的程序,以及檢查網絡速度和大容量存儲器的測試。如果你不知道安裝在系統中的硬件的詳細情況,只要運行lshw命令,就可以列出最重要的部件。來自lshw的輸出很全面,但是你可以用這個命令來逐頁顯示屏幕上的輸出:
- lshw | more
那樣你可以在方便時查看細節。為了確定處理器的具體類型,在提示符處輸入x86info;這會給出處理器的最重要的技術數據(見圖2)。
圖2:簡明扼要的處理器規格
2.處理器和芯片組測試
列表中的頭六個程序出現在一些軟件庫中,作為cpuburn套件的一部分。這些程序在***負載狀態下,測試來自英特爾和AMD的處理器和芯片組,包括老式的K6和K7系列以及現代的兼容系統,讓你得以確定處理器適合超頻的程度,并幫助你查明硬件問題。比如說,如果系統在滿負載狀態下運行,幾分鐘后突然停止運行,這可能表明處理器的散熱件有瑕疵或不合要求。
你可以在每一種情況下啟動測試程序,只要運行列表中指定的控制臺命令;這不需要管理員權限。由于程序通常在屏幕上并不輸出任何內容,你應該在后臺運行硬件測試,那樣在應用程序運行的時候可以一心關注控制臺。想對你***進的英特爾處理器進行全面測試,在控制臺輸入命令序列:burnP6 || echo $? &。處理器處于滿負載狀態,所以如果現在你在控制臺上運行top命令,顯示各個進程使用系統資源的百分比,burnP6始終會出現在列表頂部,***性的處理器負載遠高于95%。
StressLinux在負載狀態下,幾乎實時監測你系統的散熱性能,顯示相關信息,只需使用從F10到F12的組合鍵。
鍵盤快捷鍵Ctrl+Alt+F12可為你顯示系統上所有傳感器的當前溫度,并顯示風扇轉速。附近是處理器溫度顯示畫面,該畫面還表明了允許的***工作溫度。如果畫面顯示傳感器溫度在很短時間后突然上升,較高的風扇轉速對傳感器記錄的熱量增聚沒有任何影響,***檢查一下散熱系統。對處理器的散熱部件來說尤其如此,原因在于處理器正上方、一段時間后發干的散熱膏會充當絕熱體,最終給系統造成破壞。
鍵盤快捷鍵Ctrl+Alt+F11顯示存儲設備的當前溫度。在滿負載狀態下,即便長時間接受壓力測試后,硬盤的工作溫度也應該不會升到50攝氏度以上,要不然,你可能會遇到數據丟失或損壞。
按Ctrl+Alt+F10組合鍵會以圖形化方式顯示網絡吞吐量;只有eth0接口受到監測。該畫面對處理器和芯片組測試來說仍處于不活躍狀態。
3.系統測試
輸入stress命令可開始更全面的系統測試;除了處理器外,它還檢查內存接口、內存,必要的話,還可檢查存儲設備。由于該測試套件有數量眾多的參數(每個例行程序都可以調整),應該先運行stress --help,大致了解可能適用的選項。為了使測試自動化,又不讓系統長時間處于過載狀態,你可以為壓力測試運行設定時間限制。
4.存儲
硬盤變舊后,它們常常成為系統的薄弱部件;技術瑕疵引起數據丟失會帶來致命影響。StressLinux用兩個工具:bonnie++和smartctl檢查硬盤的健康狀態。Bonnie++這款工具用來對存儲介質進行基準測試,而Smartctl支持測試運行,并顯示硬盤的當前技術狀況。想開始使用這款實用工具,你必須是StressLinux根用戶或同等權限的用戶。在輸入根密碼stresslinux后,su – 命令為你提供了根權限。
如果你運行這個命令:smartctl -a <drivename> | more
看到錯誤日志中的一些數據,應該至少備份最重要的文件。如果你想執行另外一些測試,輸入smartctl --help會列出一系列全面的參數以及幾個例子(見圖3)。
圖3:Smartctl可以顯示關于你存儲設備的所有細節。
5.網絡
為了測試網絡接口的吞吐量,StressLinux提供了netio程序,該程序可測量兩臺計算機之間(一臺計算機充當服務器)的數據傳輸速度。
Live模式下在兩臺計算機上都啟動StressLinux后,你可以在服務器上使用命令netio -s,啟動該程序,然后在客戶機上,輸入:netio <server IP address>,StressLinux會以列表形式顯示數據吞吐量,數據包大小不一。另外,你可以使用Ctrl+Alt+F10,顯示傳輸速度的條形圖。
結束語
StressLinux是一款實用的工具,可以對你的硬件進行全面的測試。這款軟件沒有花哨的圖形元素,但是確實要求用戶對命令行有一番了解。
StressLinux(http://www.stresslinux.org/sl/downloads)基于openSUSE 11.4和BusyBox,這是一個200MB或225MB大小的ISO映像文件,適用于64位或32位架構。另外的版本可結合USB存儲介質使用,或在虛擬機中使用。你在項目官方網站(http://www.stresslinux.org/sl/wiki/Documentation)很容易找到通俗易懂的說明文檔,以便制作可引導介質。
對于專業的PC用戶和IT工程師來說,StressLinux是一款必不可少的工具,可用于診斷硬件問題,因而是每只工具箱的必備利器。
原文標題:Hardware Stress Testing with Linux
作者:Erik Bärwaldt
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】