Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

在 linux 中偵測 Intel Core2Duo 的核心溫度
post by tommy @ 24 三月, 2007 21:23

上個月把原本使用 AMD Athlon 64 X2 的伺服器轉為 firewall, 然後把主要的伺服器換成 Intel E6300 之後, 原本有個 k8temp 的模組, 可以用來偵測每個核心的溫度, 但是在 Intel 的 CPU 上頭, 當時並沒有看到有類似的模組可以使用. 所以, 就沒有針對每個核心去偵測溫度了. 不過... 今天不小心在這篇說明中, 看到有類似的模組可以使用, 就上網找了一下, 裝起來用看看了.

首先, 在 Google 找了一下 lm-sensors coretemp, 果然找到了這篇文章, 其中的附件就是用來新增 coretemp 模組的 patch. 下載之後, 自己加上這個 patch, 重新編了一次 kernel, 把這個新的 module 載入之後, 在 /etc/sensors.conf 中加入下頭的設定:

# Core0
chip "coretemp-isa-0000"
label temp1 "Core0 Temp"

# Core1
chip "coretemp-isa-0001"
label temp1 "Core1 Temp"

果然可以在執行 sensors 指令時, 出現這兩個的訊息, 不過... 並沒有內容:

coretemp-isa-0000
Adapter: ISA adapter

coretemp-isa-0001
Adapter: ISA adapter 

弄了半天, 正想會不會是沒有重開機的關係? 可是, 模組的載入又很正常, 依據以往的經驗, 新增 kernel 的模組, 並不用重新開機就應該可以正常使用.

接著到 lm-sensors 的官方網站中, 找了一下 coretemp, 發現 userspace 的程式也需要修正才可以. 應該是目前我用的 Debian 所使用的 2.10.1 版本沒有包含這個修正. 所以自己加上了這個 patch 之後, 果然, 現在就可以正確的抓出 CPU 每個核心的溫度了.

coretemp-isa-0000
Adapter: ISA adapter
Core0 Temp:
+40°C (high = +85°C)

coretemp-isa-0001
Adapter: ISA adapter
Core1 Temp:
+40°C (high = +85°C) 

在得到每個核心的溫度後, 與之前的 CPU 溫度一比較, 發現之前在 /etc/sensors.conf 中把 it8718 直接套用 it8716 的設定, 所得到 temp1 並不是 CPU 的溫度, 看起來 temp2 比較像是 (因為在編 kernel 時, temp1 的溫度幾乎不動, 而 temp2 的溫度會上升 10 幾度). 所以就把這兩個溫度設定給換了過來.

不過又發現另一個問題, 就是 temp2 抓到的溫度, 與 coretemp 抓出來的有不小的差距, 隨著溫度的變化, 一般 temp2 會比 coretemp 的溫度低上 8-10 度左右, 所以就在 /etc/sensors.conf 中加上了這段:

   compute temp2 (@ +9),(@ - 9) 

把 temp2 加個 9 度. 這樣子 temp2 與 coretemp 的數字就會十分接近了.

Del.icio.us Furl HEMiDEMi Technorati MyShare
commons icon [1] Re:在 linux 中偵測 Intel Core2Duo 的核心溫度 [ 回覆 ]

2.6.20下是否ok阿?
k8temp 的模組, 现在是用那个阿?coretemp-isa?

commons icon [2] Re:在 linux 中偵測 Intel Core2Duo 的核心溫度 [ 回覆 ]

C2D 的要自己 patch, 或者用 2.6.22.
K8 的, 在 2.6.20 內應該就有 k8temp 模組了.

commons icon [3] Re:在 linux 中偵測 Intel Core2Duo 的核心溫度 [ 回覆 ]

無論如何, lm-sensors 的軟體也必須足夠新才有包含 k8temp 或 coretemp 模組的偵測.

迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 60 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS