作者 主題: [分享]監測cpu溫度並利用mrtg書出圖形  (閱讀 17128 次)

0 會員 與 1 訪客 正在閱讀本文。

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
夏天又到嚕~相信很多人都粉關心自己的CPU會不會因為過熱而罷工呢?那Linux底下有沒有可以監測溫度的軟體哩?

有滴,那就是lm-sensor。那該如何安裝呢?

我在google找到的文章,用我破破的英文為大家翻譯一下吧。

關於lm-sensor最新的軟體可以在http://www2.lm-sensors.nu/~lm78/找到。

如果你的核心版本是2.2.X

請下載i2c和lm-sensor二個套件

如果你的核心版本是2.4.X

只需要下載lm-sensor就可以了

為了套件管理的方便我把這二個檔案都放在/usr/local/src底下

註:如果要讓i2c也可以在其它核心版本執行行,要把它編成模組,後面會有解說。

root# cd /usr/local/src

root# tar zxvfp lm_sensors-2.8.0.tar.gz

root# tar zxvfp i2c-2.8.0.tar.gz

root# cd /usr/local/src/i2c-2.8.0
root# make clean <<<--- 很重要,這樣才不會有編譯不完全

root# make dep

 root# make all

root# make install

這樣就把ic2給裝好啦接著裝lm-sensor吧

root#cd /usr/local/src/lm_sensors-2.8.0

root#make clean       和上面一樣,一定要做這個步驟喔

root#make dep

root#make all

root#make install

這樣連lm-sensor都裝好啦簡單吧

root# /sbin/depmod -a

修改底下這個檔案把函數庫載入

root# vi /etc/ld.so.conf
   /usr/local/lib 加入這一行

root# ldconfig

root#./prog/mkdev/mkdev.sh 產生驅動程式以支援要偵測的東西

root#sensors-detect                掃瞄你的主機使用那些晶片組

只要一直按Enter就好了,照它的預設值就好等到底下的東西跑出來

#----cut here----
# I2C adapter drivers
modprobe i2c-isa
# I2C chip drivers
modprobe w83781d
modprobe sis5595
#----cut here----

To make the sensors modules behave correctly, add these lines to either
/etc/modules.conf or /etc/conf.modules:

#----cut here----
# I2C module options
alias char-major-89 i2c-dev
#----cut here----
 

root#vi /etc/modules.conf

alias char-major-89 i2c-dev   把這行加進去,開機就會載入了

root#modprobe i2c-isa

root#modprobe w83781d

root#modprobe sis5595

把上面三個載入

root#sensors          

w83697hf-isa-0290
Adapter: ISA adapter
Algorithm: ISA algorithm
VCore: +1.47 V (min = +0.00 V, max = +0.00 V) ALARM
+3.3V: +3.34 V (min = +2.97 V, max = +3.63 V)
+5V: +5.12 V (min = +4.50 V, max = +5.48 V)
+12V: +11.67 V (min = +10.79 V, max = +13.11 V)
-12V: -11.83 V (min = -13.21 V, max = -10.90 V)
-5V: +3.53 V (min = -5.51 V, max = -4.51 V) ALARM
V5SB: +5.58 V (min = +4.50 V, max = +5.48 V)
VBat: +3.15 V (min = +2.70 V, max = +3.29 V)
fan1: 3970 RPM (min = 3000 RPM, div = 2)
fan2: 0 RPM (min = 3000 RPM, div = 2) ALARM
temp1: +40°C (limit = +60°C) sensor = thermistor
temp2: +39.5°C (limit = +60°C, hysteresis = +50°C) sensor = PII/Celeron diode
alarms: Chassis intrusion detection ALARM
beep_enable:
Sound alarm disabled

sis5595-isa-8008
Adapter: ISA adapter
Algorithm: ISA algorithm
VCore 1: +4.08 V (min = +4.08 V, max = +4.08 V) ALARM
VCore 2: +4.08 V (min = +4.08 V, max = +4.08 V) ALARM
+3.3V: +4.08 V (min = +4.08 V, max = +4.08 V) ALARM
+5V: +6.85 V (min = +6.85 V, max = +6.85 V) ALARM
fan1: 0 RPM (min = 0 RPM, div = 8) ALARM
fan2: 0 RPM (min = 0 RPM, div = 8) ALARM
temp: +51°C (limit = +51°C, hysteresis = +51°C) ALARM
alarms: Board temperature input (usually LM75 chips) ALARM

如果不想每次重開機都要重新載入一次,可以把以上那些寫進/etc/rc.d/rc.local裡面喔
 

看到上面的東東跑出來之後就成功一半囉,接下來讓它和MRTG整合在一起吧

root#cd /var/www/html/mrtg

root#mkdir temp

root#cd temp

root#vi mrtg.temp

檔案內容如下

#!/bin/bash
cputemp=`sensors | grep temp1 |awk '{print $2}'|cut -c 2-4`           這句是說找出有temp1那一行,印出第二個列的2-4個字
systemp =`sensors | grep temp2 |awk '{print $2}'|cut -c 2-4`           不用解釋了吧
UPtime=`/usr/bin/uptime | awk '{print $3 " " $4 " " $5}'`
echo $cputemp
echo $systemp
echo $UPtime
echo dc.blue-moon.idv.tw     (改成你的主機名稱)
 

root#chmod 755 mrtg.temp 改成可執行

root#./mrtg.temp   試試看有沒有問題

40
37
18:52, 2 users,
dc.blue-moon.idv.tw

再來寫下面的檔案

root#vi mrtg.cfg.temp

WorkDir: /var/www/html/mrtg/temp/

Language: big5

Target[index]: `/var/www/html/mrtg/temp/mrtg.temp`

MaxBytes[index]:60

Options[index]: gauge, nopercent, growright

YLegend[index]: Temp (度)

ShortLegend[index]: 度

LegendO[index]: 系統溫度;

LegendI[index]: CPU溫度;

Title[index]: Blue-Moon City 系統溫度表

PageTop[index]: <H1>Blue-Moon City 主機溫度表</H1>

<TABLE>

<TR><TD>系統:</TD> <TD>RedHat 9.0+Apache 2.0.40 </TD></TR>

</TABLE>
這樣只要連到http://yourhost.yourdomain/mrtg/temp就可以連到,不用再打檔名了

root#/usr/bin/mrtg /var/www/html/mrtg/temp/mrtg.cfg.temp

執行三次

再把它放入排程

root#vi /etc/crontab

*/5 * * * * root /usr/bin/mrtg /var/www/html/mrtg/temp/mrtg.cfg.temp > /dev/null 2>&1

這樣就大功告成啦

我的範例

http://www.blue-moon.idv.tw/mrtg/temp

註:最新版的lm-sensor會自動偵測
你目前所使用的核心版本放置的位置
所以不用去修改它

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #1 於: 2003-08-15 09:46 »
這個東西有時候在某些 Chip 上不準
像我用 via686 就不對(因為 via686 driver 的關係, via 的 datasheet 沒有完全釋出)...
可能有用的人實際還是和 BIOS 顥示的值比較一下較有一個底
不過大多數東可以測出來

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17465
    • 檢視個人資料
    • http://www.study-area.org
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #2 於: 2003-08-15 11:05 »
題外話:
看來 abel 兄還有不少學員對 mrtg 都有不少研究哦...
我相信應有不少人很感興趣的...  ^_^
不知道能否安排個時間來 TnLUG 為大家開課啊?  ^_^ ^_^
哦,當然,不勉強啦~~~

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #3 於: 2003-08-15 11:21 »
引述: "abelyang"
這個東西有時候在某些 Chip 上不準
像我用 via686 就不對(因為 via686 driver 的關係, via 的 datasheet 沒有完全釋出)...
可能有用的人實際還是和 BIOS 顥示的值比較一下較有一個底
不過大多數東可以測出來


這我到沒有特地研究也,因為我只抓過二台主機
和BIOS的數據相同,就大膽滴給它post出來了
還有沒有其它相關的軟體可以研究?
請學長提示一下

Jerry Liu

  • 鑽研的研究生
  • *****
  • 文章數: 536
  • 性別: 男
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #4 於: 2003-08-15 11:40 »
我偵測出來的結果有點奇怪 ==
 
eeprom-i2c-0-50
Adapter: SMBus Via Pro adapter at 0400
Algorithm: Non-I2C SMBus adapter
Memory type:            SDRAM DIMM SPD
Memory size (MB):       128

eeprom-i2c-0-51
Adapter: SMBus Via Pro adapter at 0400
Algorithm: Non-I2C SMBus adapter
Memory type:            SDRAM DIMM SPD
Memory size (MB):       128

eeprom-i2c-0-52
Adapter: SMBus Via Pro adapter at 0400
Algorithm: Non-I2C SMBus adapter
Memory type:            SDRAM DIMM SPD
Memory size (MB):       512

via686a-isa-0c00
Adapter: ISA adapter
Algorithm: ISA algorithm
CPU core:  +1.76 V  (min =  +1.98 V, max =  +2.49 V)   ALARM
+2.5V:     +1.68 V  (min =  +2.24 V, max =  +2.74 V)   ALARM
I/O:       +3.28 V  (min =  +2.95 V, max =  +3.62 V)
+5V:       +5.04 V  (min =  +4.47 V, max =  +5.49 V)
+12V:     +11.98 V  (min = +10.79 V, max = +13.18 V)
CPU Fan:  6490 RPM  (min = 3000 RPM, div = 2)
P/S Fan:  6192 RPM  (min = 3000 RPM, div = 2)
SYS Temp:  +33.2蚓  (limit =  +45蚓, hysteresis =  +40蚓)
CPU Temp:  +34.7蚓  (limit =  +60蚓, hysteresis =  +55蚓)
SBr Temp:  +25.8蚓  (limit =  +65蚓, hysteresis =  +60蚓)

記憶體的部分沒有問題
但是CPU的部分都有問題,其中最明顯的是我這台是雙CPU的主機
其中電壓的部分 PIII 1G 用1.75V 應該沒錯
下面的2.5V 蠻懷疑是另一顆 CPU的電壓
P/S Fan 我也懷疑是第二顆CPU的風扇
下面三個溫度就有點累了,因為我這台算是拼湊機器,兩顆cpu雖然都是PIII 1G的
但是是不同時間生產的 風扇也不一樣:P
又不方便重開機直接看BIOS的資料
想請問各位學長,是不是在雙CPU的機器有別的事項要注意?
有空時我也會去找找看答案的
水泥森林中的狼

好懷念的暱稱啊 .................

abelyang

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 1097
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #5 於: 2003-08-15 17:21 »
可以到 Google 查一下 "lm78 with multiprocessor" 看看
另外,你的 chip 是 868a 的, 我的也是,不過我的測出來我覺得根本就不對
那有有時高達數百度的...一定是 driver 有問題,那時候有到 lm78
的 maillist 去查過,卻實是有這個問題,既然有問題,也找過幾個版本的來修正
但還是都不對, VIA 公司的網站上也找不到, 後來我也就算了
CPU temp 的 graphic 我就不做了,反正這幾年來也沒有什麼事
有時間到機房走走,感受一下 temp 就好

至於 netman 兄的提議....TnLUG 在台南吧~~雖然有心卻力不足,
主要是因為時間的問題,我的 baby 才八個月大,就我和我太太在帶,
都沒有時間休閒了還跑去台南,對我來說可能不太能對太座交待 ...
除非是使用網路教學...不過大概沒有幾個人習慣吧 ~~

有時間我倒是可以多寫些教學文章來教大家~~

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #6 於: 2003-08-15 18:02 »
學長謝謝嚕
趕快去K資料

Jerry Liu

  • 鑽研的研究生
  • *****
  • 文章數: 536
  • 性別: 男
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #7 於: 2003-08-18 17:26 »
真是無緣啊,像說換一台電腦來裝裝看
結果更慘 = =
 BIOS vendor (ACPI): IBM
 System vendor (DMI): IBM
 BIOS version (DMI): NHKT29AUS
 Sorry, we won't let you go on. IBM systems are known to have
 serious problems with lm_sensors, resulting in hardware failures.
 For more information, see README.thinkpad or
 http://www2.lm-sensors.nu/~lm78/cvs/lm_sensors2/README.thinkpad.
水泥森林中的狼

好懷念的暱稱啊 .................

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #8 於: 2003-08-18 17:50 »
或許您用的機器都太高級了>_<
像小弟粉窮只能用些中階滴東東
不過我覺得啦,中階的東西大部份的OS都有支援說
比較不會有找不到驅動程式或是其它的困擾

James Wu

  • 鑽研的研究生
  • *****
  • 文章數: 683
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #9 於: 2003-08-19 15:40 »
補充一下
有學員們反應
在加入排程時
如果有錯誤訊息
可以把sensor改成絕對路徑
解決錯誤訊息
可能是o.s版本不同的關係吧
給大家參考一下

bluewave

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
[分享]監測cpu溫度並利用mrtg書出圖形
« 回覆 #10 於: 2003-10-16 12:59 »
我是用浩鑫的準系統SG62G2
這東西掛上了以後會導致我的風扇不停運轉.....我放棄使用><"

stopno

  • 可愛的小學生
  • *
  • 文章數: 8
    • 檢視個人資料
太棒了,感謝
« 回覆 #11 於: 2005-02-26 21:07 »
太棒了,感謝您的教學文件,給我很大的幫助,感恩!