Linux 服务器监控之硬件温度监测
【IT168 专稿】由于现在中央处理器发热量非常大,所以许多主板都提供了严格的温度监控和保护装置。一般中央处理器温度过高,或主板上的温度监控系统出现故障,主板就会自动进入保护状态。拒绝加电启动,或报警提示。现在的主板一般都带有温度传感器和风扇转速传感器,尤其对于7X24小时工作的服务器来说,实时监控这些数据是非常重要的,服务器主板以及中央处理器工作温度是否正常是系统稳定的核心。迄今为止还没有一种中央处理器散热系统能保证永不失效。失去了散热系统保护伞的“芯”,往往会在几秒钟内永远停止“跳动”。值得庆幸的是,聪明的工程师们早已开发出有效的处理器温度监控、保护技术。以特殊而敏锐的“嗅觉”随时监测中央处理器的温度变化,并提供必要的保护措施,使中央处理器免受高温下的灭顶之灾。
一、命令行下工作方式
lm_sensors可以有效监控主板和中央处理器的工作电压、风扇转速、温度等核心数据。2.6版本的Linux内核支持常见的绝大多数主板传感器,传感器的驱动也是一般的内核模块的形式。不过需要一个软件来把这些信息读出来并且加以监测,这个软件就是lm_sensors (软件主页:http://www.lm-sensors.nu/,最新版本2.9.2)。因为安装驱动程序可能需要配合核心来编译,所以会使用到内核源代码,此外,也需要编译器 ( compiler ) 的帮助,因此,先确定您的 Linux 系统当中已经下列软件的存在 :kernel-source 、kernel 、gcc 、make、gtk。 打开一个终端,使用命令检查:
# rpm -qa | grep gcc;rpm -qa | grep gtk ;
rpm -qa | grep make;rpm -qa | grep kernel
软件下载安装:
图1 主板、中央处理器电压温度等状态
这就表明你的主板传感器已经可以正常运作,可以看到主板温度、中央处理器温度电压以及风扇转速等信息非常清晰。可以监测Core(中央处理器核心电压)、+3.3/1.5V(为AGP、PCIE显卡供电)、+12V、-12V、+5V、-5V等主板上的各种电压。在Windows系统中有一个计划任务的功能,它可以根据用户的要求定时完成某项功能,这对网管员十分有用。Linux中也有类似功能,它是由cron来执行的。cron是一个守护进程(daemon),它提供定时器功能,只要用户必须定时器设置文件,就可以使用的完成计划任务。首先建立定时器设置文件,文件名称mytype(名称自己设定):
#crontab -e
*/30 * * * * sensors
用vi或其他编辑器存盘退出。
使用 crontab命令添加到任务列表中:
#crontab -u mytype
这样每隔一个30分钟系统就会弹出一个终端显示主板工作情况。
二、图像界面下工作方式
1 GKrellM工作原理 和系统要求
大家知道,我们可以在BIOS设置里面看到温度,风扇转速等等信息,但是难道我们每次要知道这些信息都要重启进BIOS?当然不是,现在到了今天的主角登场的时候:GKrellM。GkrellM可以调用lm_sensors产生的数据然后在Linux桌面以图像格式显示。笔者机器的信息:主传感芯片是Winbond W83627HF,gkrellm通过主探测芯片得到信息。如果你的信息里面显示none,说明本版本的gkrellm 不支持你的主板,而且gkrellm 不可能显示出任何有关你的主板的电压和风扇信息。
3 、 软件下载安装:
常规设置
我们首先单击“General”(常规设置)选项,在该设置项中共有3个选项卡,包括“Option”(基本设置:主要是设置一些软件的外观、显示、刷新频率等,)、“Properties ”(进阶设置:你可以选择是否使用FIC-SD11技术和RAS技术等。由于比较专业,这里不作多的叙述,一般情况下,只需要使用默认设置即可。)、“Info”(帮助信息)选项卡。工作和设置界面见图-2 :
图2 软件运行前的配置监控选项
配置结束后用鼠标点击"确定"按钮,GkrellM马上开始运行,GkrellM软件能够监测几乎所有的Linux系统的关键硬件。
5、设置报警数值,利用linux命令发送警告信息。
下面设定报警按钮,看到下面有很多选项,一般我们要设置高温报警,这里看到笔者选择了高于70.5摄氏度报警,一般用Intel的处理器可以这样设置,而用AMD处理器的可以再设置略高,比如75摄氏度。Temp1和Temp2两个数值均为预埋在中央处理器内部的半导体二极管测量的中央处理器温度,Temp1的测温位置更加靠近核心,是真正的核心温度,变化幅度叫大,用于报警和自动温度控制,Temp2的测量位置距离核心相对较远,仅用于显示中央处理器温度。Temp3是焊接在主板上的热敏电阻的测量结果,代表机箱内的环境温度。点击“Builtins”的“Sensors子选项”的“Alerts”按钮进入设置界面,见图3。
图3 中央处理器报警设置界面
我们还可以在Alarm command(报警命令)选项后设置命令,可以使用wall命令,wall表示:write all。输入wall,然后编辑信息,如果shell支持可以使用中文。然后按“应用”按钮保存设置。当中央处理器温度超出“警戒线”时,软件将自动采取相应措施(红色显示、桌面告知信息)。报警界面见图4。
图4 中央处理器报警过热报警界面
在“命令”选项中,如果将“使用halt -p”设置,则当温度超过设置值时,GKrellM 将自动运行关机程序。这种方法对长期无人值守的服务器非常有用。
6、监控Linux服务器电源工作情况
随着服务器的快速发展,高频中央处理器,专业图像加速卡,硬盘等耗电量的日益增加。我们对电源的要求也就越来越高,高质量的电源是电脑正常运行的重要保证,不过也是很多人最容疏忽。低质量的电源容易导致电脑经常自动重起,致使硬盘出现坏到。Pentium4 3.2E(Prescott核心)以有100w以上功耗,更高频的LGA 775 Pentium4功耗还要高出许多。显卡的发展速度也不亚于中央处理器,ATI与NVIDIA比着赛的推出新显卡,也造就了Geforce 8800GT、RADEON R800这些电老虎。根据一些测试,Geforce 8800GT已经达到180W左右(峰值)功率。这样算下来,光高端中央处理器和显卡就至少有350W以上的功耗。而现在处理器和显卡基本都采用12V辅助供电才能正常工作,因此对电源+12V输出要求格外高。自动重起是因为功率不足+5V,+3.5V和+12V在满负荷状态下运行出现较大电压波动。因此电源也是服务器中至关重要的一个配件。如果电源输出的正电压在-5%到+5%之间,输出的负电压在-10%到10%就算正常,不会对电脑的硬件造成损害,你的电源完全胜任你的电脑。可以监测Core(中央处理器核心电压)、+3.3/1.5V(为AGP显卡供电)、+12V、-12V、+5V、-5V等主板上的各种电压。设置界面见图5。
图5 电压监控设置界面
这里同样可以设置电压报警:我们可以设置每项电压的报警范围,以中央处理器核心电压为例,可以设定Core0的电压标准值为标准值,可允许的电压误差为4%。实际使用中,当Core0的波动值大于4%时,软件将根据设定以声音报警或者直接关机来保护中央处理器的安全。
7.监控Linux服务器降温风扇的工作情况
2005年Intel和AMD都全面推行它们的双核心处理器,面对越趋复杂的软件应用和多任务工作,人们对处理器同时处理多任务的要求也越来越高,因此全新设计的双核芯处理器在不久后必将成为主流的服务器的处理器产品。由于同时集成了两颗处理核心,使得这些双核处理器的功耗和发热量方面更加厉害,Smithfield核心的Pentium D处理器虽然比起Preccott的P4在发热量方面稍有改进,但是温度还是非常高,将Pentium D 820的外频超至250MHz,如果运行在封闭的机箱环境中,温度将会更高,试问在这样的状态下有谁还能安心地工作。建议使用Pentium D处理器和AMD64-FX或者更强处理器的服务器使用一个较好的散热器(技嘉 G-Power Pro、酷冷 Hyper6+和Tt 甲壳虫)。同时进行风扇实时监控。”、“风扇”设置与“温度”设置一样,也分为“报警”、“显示”两个选项,由于其操作方法与“温度”设置类似,此处不再赘述。
总结:
中央处理器、主板是Linux服务器的核心,Linux 负有盛名的特点之一是其非凡的稳定性。如果您的硬件温度过高,那么系统内的数据的安全就危险了,所以实时检测它们的状态是重要的。本文中我们了解Linux 下硬件温度监控。下次将介绍Linux 下硬件存储设备、网络设备监控。
一、命令行下工作方式
lm_sensors可以有效监控主板和中央处理器的工作电压、风扇转速、温度等核心数据。2.6版本的Linux内核支持常见的绝大多数主板传感器,传感器的驱动也是一般的内核模块的形式。不过需要一个软件来把这些信息读出来并且加以监测,这个软件就是lm_sensors (软件主页:http://www.lm-sensors.nu/,最新版本2.9.2)。因为安装驱动程序可能需要配合核心来编译,所以会使用到内核源代码,此外,也需要编译器 ( compiler ) 的帮助,因此,先确定您的 Linux 系统当中已经下列软件的存在 :kernel-source 、kernel 、gcc 、make、gtk。 打开一个终端,使用命令检查:
# rpm -qa | grep gcc;rpm -qa | grep gtk ;
rpm -qa | grep make;rpm -qa | grep kernel
软件下载安装:
说明:绝大多数发行版都带有lm_sensors软件包,但是在安装的时候几乎都没有对传感器进行配置,因此它并不会奏效。所以我们需要手工配置一下传感器。lm_sensors软件包提供了一个非常好的命令:sensors-detect,引导你配置好传感器,并且能够自动检测出你的主板使用的那种传感器硬件!在向导中绝大多数问题你都可以直接回答“yes”,只有一处需要你自己选择一下,就是某些传感器同时支持ISA总线和SMBus总线。I2C是传感器设备的工业标准,不光只使用于计算机服务器,同样适用于很多工业领域。我们常见的主板基本上都是使用SMBus总线的传感器设备。)的访问模式,如果是这种情况的话,你选择哪种工作方式。在这里他的提示说ISA模式会快一些,不过传感器不是用来传数据的,快一点慢一点我觉得无所谓。而且如果使用ISA模式的话还要装载ISA总线的内核模块,这对于现在绝大多数新机器来说是完全额外的模块,因此我们选择smbus模式。自动检测完成以后,sensors-detect最后会提示你做一些粘贴和复制一个启动脚本,多数发行版自带的lm_sensors软件包都已经替我们做好了这些工作了。最后会自动修改/etc/sysconfig/lm_sensors文件,注意这个文件很重要,这里面列出了你的传感器需要的内核模块,也就是传感器的驱动程序,这个在系统启动中会自行加载的。如果不能自动加载的话,你再按照上面sensors-detect最后提示给你的那些内容粘贴到相应的文件中去。#cd /usr/local/src/
#wget http://freshmeat.net/redir/lm_sensors/5940/url_tgz/lm_sensors-2.9.2.tar.gz
#tar zxvf lm_sensors-2.9.2.tar.gz
#cd /usr/local/src/lm_sensors-2.9.2
#make clean ;make dep ;make all ;make install
#/sbin/depmod -a
修改配置文件:“/etc/ld.so.conf”加入一行:/usr/local/lib
#ldconfig
#sensors-detect #扫描主板所有芯片,选择缺省选项即可(按会车)#
#modprobe i2c-isa
#modprobe lm78
#modprobe sis5595
开始检测,见图1:
# service lm_sensors restart
#sensors

图1 主板、中央处理器电压温度等状态
这就表明你的主板传感器已经可以正常运作,可以看到主板温度、中央处理器温度电压以及风扇转速等信息非常清晰。可以监测Core(中央处理器核心电压)、+3.3/1.5V(为AGP、PCIE显卡供电)、+12V、-12V、+5V、-5V等主板上的各种电压。在Windows系统中有一个计划任务的功能,它可以根据用户的要求定时完成某项功能,这对网管员十分有用。Linux中也有类似功能,它是由cron来执行的。cron是一个守护进程(daemon),它提供定时器功能,只要用户必须定时器设置文件,就可以使用的完成计划任务。首先建立定时器设置文件,文件名称mytype(名称自己设定):
#crontab -e
*/30 * * * * sensors
用vi或其他编辑器存盘退出。
使用 crontab命令添加到任务列表中:
#crontab -u mytype
这样每隔一个30分钟系统就会弹出一个终端显示主板工作情况。
二、图像界面下工作方式
1 GKrellM工作原理 和系统要求
大家知道,我们可以在BIOS设置里面看到温度,风扇转速等等信息,但是难道我们每次要知道这些信息都要重启进BIOS?当然不是,现在到了今天的主角登场的时候:GKrellM。GkrellM可以调用lm_sensors产生的数据然后在Linux桌面以图像格式显示。笔者机器的信息:主传感芯片是Winbond W83627HF,gkrellm通过主探测芯片得到信息。如果你的信息里面显示none,说明本版本的gkrellm 不支持你的主板,而且gkrellm 不可能显示出任何有关你的主板的电压和风扇信息。
3 、 软件下载安装:
4、运行软件:#wget http://members.dslextreme.com/users/billw/gkrellm/gkrellm-2.2.7.tar.bz2
#bunzip2 gkrellm-2.2.7.tar.bz2
#make;make install
运行GkrellM软件进行实时监测前按"F 1"键根据你的Linux服务器硬件情况进行配置以显示你关心的数据,/usr/local/bin/gkrellm
常规设置
我们首先单击“General”(常规设置)选项,在该设置项中共有3个选项卡,包括“Option”(基本设置:主要是设置一些软件的外观、显示、刷新频率等,)、“Properties ”(进阶设置:你可以选择是否使用FIC-SD11技术和RAS技术等。由于比较专业,这里不作多的叙述,一般情况下,只需要使用默认设置即可。)、“Info”(帮助信息)选项卡。工作和设置界面见图-2 :

图2 软件运行前的配置监控选项
配置结束后用鼠标点击"确定"按钮,GkrellM马上开始运行,GkrellM软件能够监测几乎所有的Linux系统的关键硬件。
5、设置报警数值,利用linux命令发送警告信息。
下面设定报警按钮,看到下面有很多选项,一般我们要设置高温报警,这里看到笔者选择了高于70.5摄氏度报警,一般用Intel的处理器可以这样设置,而用AMD处理器的可以再设置略高,比如75摄氏度。Temp1和Temp2两个数值均为预埋在中央处理器内部的半导体二极管测量的中央处理器温度,Temp1的测温位置更加靠近核心,是真正的核心温度,变化幅度叫大,用于报警和自动温度控制,Temp2的测量位置距离核心相对较远,仅用于显示中央处理器温度。Temp3是焊接在主板上的热敏电阻的测量结果,代表机箱内的环境温度。点击“Builtins”的“Sensors子选项”的“Alerts”按钮进入设置界面,见图3。

图3 中央处理器报警设置界面
我们还可以在Alarm command(报警命令)选项后设置命令,可以使用wall命令,wall表示:write all。输入wall,然后编辑信息,如果shell支持可以使用中文。然后按“应用”按钮保存设置。当中央处理器温度超出“警戒线”时,软件将自动采取相应措施(红色显示、桌面告知信息)。报警界面见图4。

图4 中央处理器报警过热报警界面
在“命令”选项中,如果将“使用halt -p”设置,则当温度超过设置值时,GKrellM 将自动运行关机程序。这种方法对长期无人值守的服务器非常有用。
6、监控Linux服务器电源工作情况
随着服务器的快速发展,高频中央处理器,专业图像加速卡,硬盘等耗电量的日益增加。我们对电源的要求也就越来越高,高质量的电源是电脑正常运行的重要保证,不过也是很多人最容疏忽。低质量的电源容易导致电脑经常自动重起,致使硬盘出现坏到。Pentium4 3.2E(Prescott核心)以有100w以上功耗,更高频的LGA 775 Pentium4功耗还要高出许多。显卡的发展速度也不亚于中央处理器,ATI与NVIDIA比着赛的推出新显卡,也造就了Geforce 8800GT、RADEON R800这些电老虎。根据一些测试,Geforce 8800GT已经达到180W左右(峰值)功率。这样算下来,光高端中央处理器和显卡就至少有350W以上的功耗。而现在处理器和显卡基本都采用12V辅助供电才能正常工作,因此对电源+12V输出要求格外高。自动重起是因为功率不足+5V,+3.5V和+12V在满负荷状态下运行出现较大电压波动。因此电源也是服务器中至关重要的一个配件。如果电源输出的正电压在-5%到+5%之间,输出的负电压在-10%到10%就算正常,不会对电脑的硬件造成损害,你的电源完全胜任你的电脑。可以监测Core(中央处理器核心电压)、+3.3/1.5V(为AGP显卡供电)、+12V、-12V、+5V、-5V等主板上的各种电压。设置界面见图5。

图5 电压监控设置界面
这里同样可以设置电压报警:我们可以设置每项电压的报警范围,以中央处理器核心电压为例,可以设定Core0的电压标准值为标准值,可允许的电压误差为4%。实际使用中,当Core0的波动值大于4%时,软件将根据设定以声音报警或者直接关机来保护中央处理器的安全。
7.监控Linux服务器降温风扇的工作情况
2005年Intel和AMD都全面推行它们的双核心处理器,面对越趋复杂的软件应用和多任务工作,人们对处理器同时处理多任务的要求也越来越高,因此全新设计的双核芯处理器在不久后必将成为主流的服务器的处理器产品。由于同时集成了两颗处理核心,使得这些双核处理器的功耗和发热量方面更加厉害,Smithfield核心的Pentium D处理器虽然比起Preccott的P4在发热量方面稍有改进,但是温度还是非常高,将Pentium D 820的外频超至250MHz,如果运行在封闭的机箱环境中,温度将会更高,试问在这样的状态下有谁还能安心地工作。建议使用Pentium D处理器和AMD64-FX或者更强处理器的服务器使用一个较好的散热器(技嘉 G-Power Pro、酷冷 Hyper6+和Tt 甲壳虫)。同时进行风扇实时监控。”、“风扇”设置与“温度”设置一样,也分为“报警”、“显示”两个选项,由于其操作方法与“温度”设置类似,此处不再赘述。
总结:
中央处理器、主板是Linux服务器的核心,Linux 负有盛名的特点之一是其非凡的稳定性。如果您的硬件温度过高,那么系统内的数据的安全就危险了,所以实时检测它们的状态是重要的。本文中我们了解Linux 下硬件温度监控。下次将介绍Linux 下硬件存储设备、网络设备监控。
0
相关文章