服务器 频道

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

    软件下载安装:
#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 #扫描主板所有芯片,选择缺省选项即可(按会车)#
    说明:绝大多数发行版都带有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最后提示给你的那些内容粘贴到相应的文件中去。
#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分钟系统就会弹出一个终端显示主板工作情况。
0
相关文章