FreeBSD系统检测AMD处理器的硬件温度

FreeBSD系统检测AMD处理器的硬件温度

摘要:

这个wiki页面主要介绍如何在FreeBSD系统中如何检测AMD处理器的温度;
所写内容主要适用于k8以及k10系列处理器。

基本原理:

在处理器内部有一个温度传感器;
为了读取这个温度需要将适当的驱动程序编译或者加载进入内核。

具体操作:

在系统内核配置文件中增加k8temp的驱动,也既是添加下述内容到内核的配置文件中去:

device k8temp
然后重新编译安装内核即可。

如果不想重新编译内核,也可以采用加载模块的方法,把下述内容添加进入loader.conf即可:

k8temp_load=”YES”

检测温度:

在加载合适的驱动之后,系统就可以读取处理器内部传感器的温度了,系统将这个温度数值保存在sysctl的相应节点中,所以可以通过输入sysctl的相关信息来显示处理的温度。

检测方法如下:

sysctl -a | grep -i temp

注意:

根据k8temp(4)中的内容,k8temp这个驱动是在FreeBSD 7.1才进入系统的内核的,所以只有在7.1版本之后才可以直接通过内核加载。

对于之前的版本,似乎可以通过ports系统安装。

本文内容适用于7.2版本,由于在8.0版本中驱动的名字有所调整,所以8.0用户应将的将驱动调整为“device amdtemp”,

比较简单的方法是看看/boot/kernel/下面模块的名字,在FreeBSD系统中所有模块的名字都和自己的功能存在对应关系,

例如运行下述命令可以找出哪些模块和温度相关。

ls /boot/kernel | grep -i temp

如果在8.0系统上运行上述命令时,还可以发现Intel的Core对应的驱动是“device coretemp”。

参考:

k8temp(4)<URL:http://www.freebsd.org/cgi/man.cgi?query=k8temp&apropos=0&sektion=0&manpath=FreeBSD+7.2-RELEASE&format=html>

amdtemp(4)<URL:http://www.freebsd.org/cgi/man.cgi?query=amdtemp&sektion=4&apropos=0&manpath=FreeBSD+8.0-RELEASE>

loader.conf(5)<URL:http://www.freebsd.org/cgi/man.cgi?query=loader.conf&sektion=5&apropos=0&manpath=FreeBSD+7.2-RELEASE>

sysctl(8)

原文链接:http://wiki.freebsdchina.org/doc/a/amd_cpu_temperature