lm-sensors工具安装和使用


lm-sensors工具安装和使用
 
摘要: 主机传感器信息监控
 
    最近在做云计算的项目,有个需求能监控到物理机的硬件信息,比如主板温度、CPU电压、风扇转速等,以往的经验是通过I2C通道命令查询,根据定制的硬件设备开发。但对于支持pc调试机的硬件信息查询,就行不通了。
 
    简单介绍下传感器的分类:温度,速度,压力。
 
    无意间看了鸟哥的私房菜,发现有个叫lm-sensors工具可以满足要求,下面从安装和使用分别介绍下吧。
 
    先说安装,有2种方式:1)rpm/yum等直接安装;2)源码编译安装。前者不多说了,后者稍微啰嗦点,从www.lm-sensors.org下载到源码,解压后,主目录下,看下install文件,需要依赖gcc,bison,flex,rrd(可选),gcc都知道的,bison和flex可认为是解析linux下文本数据的利器,主要是对其配置文件如默认/etc/sensors3.conf的内容的解析。安装好这些依赖后,执行make all, make install即可。
 
    再说使用,首先使用/prog/detect/sensors-detect检测可监控的传感器,将结果写入到/etc/lm-sensors/sensors中的模块等内容。然后就进行的使用吧,在终端下,先输入sensors,看是否支持,如果提示cmd不支持,则是安装出现了问题,返回重复吧。如果提示no modules可监控,一般是监控芯片lm-sensors不支持,或者驱动未安装。如果输出有温度,电压等内容,则OK了。(最简单的方法是直接查看/sys/class/hwmon/下是否存在子目录。)
 
    说下原理吧,lm-sensors工具做的工作其实就是个翻译的工作,真正做监控实际事的是内核中的hwmon模块,hwmon是作为一个类存在在内核中的(可查看/sys/class/hwmon),内核初始化时,各个设备:监控芯片,传感器等设备都会注册到hwmon模块,各个设备的驱动会负责监控,定时将信息上报,hwmon则负责将信息更新/sys/class/hwmon/hwmonN/下对应的文件中内容,比如温度传感器1的input对应的文件就是temp1_input。sensors命令根据用户定制的配置文件(-c指定,语法见man libsensors),如果没指定,则使用默认的配置文件/etc/sensors3.conf进行对应的字段替换,比如temp1可标识为M/B Temp。

相关内容

    暂无相关文章