服务器查看温度命令
在Linux和Windows服务器上,查看硬件温度(尤其是CPU)最常用且推荐的核心命令/方法如下:

-
Linux (需安装工具):
ipmitool sdr type temperature(强烈推荐 – 需服务器支持IPMI/BMC):这是通过服务器底板管理控制器(BMC)获取传感器数据的行业标准方法,提供最准确、最全面的温度信息(CPU、内存、硬盘、主板区域等),且独立于操作系统负载。sensors(需安装lm-sensors包):直接读取主板传感器芯片数据,主要提供CPU核心温度、主板温度、风扇转速等,命令简单直观。hwinfo --sensor(需安装hwinfo包):提供非常详尽的硬件信息,包括传感器读数,输出信息量大。
-
Windows:
- PowerShell:
Get-WmiObject -Namespace rootwmi -Class MSAcpi_ThermalZoneTemperature | ForEach-Object { ($_.CurrentTemperature / 10) - 273.15 }:此命令通过WMI接口获取CPU温度区域信息,并将结果从开尔文转换为摄氏度,输出为数值,需结合其他信息解读。 - 第三方工具: 如HWMonitor、Open Hardware Monitor、HWiNFO等图形化工具是最常用、最直观的方式,提供丰富的传感器数据展示。
- PowerShell:
深入解析服务器温度监控:命令、工具与最佳实践
服务器稳定运行的核心在于有效散热,实时监控关键组件(CPU、硬盘、内存、主板芯片组等)温度是运维人员的必备技能,精准的温度数据能帮助预防硬件故障、优化散热策略并保障业务连续性,本文将深入探讨不同操作系统下获取服务器温度的专业方法、工具选择及实战策略。
Linux服务器温度监控命令详解
IPMI/BMC – 硬件级监控的金标准
- 核心命令:
ipmitool sdr type temperature- 原理: 通过智能平台管理接口(IPMI)直接与服务器底板管理控制器(BMC)通信,获取传感器数据记录(SDR),这是最权威、最底层的监控方式,不依赖操作系统,即使系统崩溃也能工作(需网络可达BMC)。
- 优势:
- 全面性: 提供CPU、内存(DIMM)、硬盘背板、PCIe卡区域、进/出风口、电源模块等全方位温度数据。
- 准确性: 数据直接来源于硬件传感器,精度高。
- 独立性: 不受操作系统负载或驱动影响。
- 远程访问: 支持带外管理,可在服务器关机或操作系统故障时远程查看。
- 安装:
sudo apt-get install ipmitool(Debian/Ubuntu) 或sudo yum install ipmitool(RHEL/CentOS)。 - 输出解读示例:
CPU1 Temp | 42 degrees C | ok CPU2 Temp | 41 degrees C | ok System Temp | 35 degrees C | ok PCH Temp | 58 degrees C | ok DIMM A1 Temp | 36 degrees C | ok ...- 每行包含传感器名称、当前值、状态(
ok/nc/nr/cr/lnc/lcr/unc/ucr等,代表不同严重程度的阈值告警)。
- 每行包含传感器名称、当前值、状态(
- 关键参数:
ipmitool sdr elist:列出所有传感器详细信息(包含阈值)。ipmitool sensor get "Sensor Name":获取特定传感器的详细数据(如ipmitool sensor get "CPU1 Temp")。ipmitool -H <BMC_IP> -U <username> -P <password> sdr...:远程访问其他服务器的BMC(需配置BMC网络和用户权限)。
lm-sensors – 操作系统层监控主力
- 核心命令:
sensors- 原理: 通过内核模块(如
coretemp用于Intel CPU,k10temp用于AMD CPU)读取主板传感器芯片(常见厂商如ITE, Winbond)的数据。 - 优势:
- 简单易用: 安装后一条命令即可查看主要温度(特别是CPU核心温度)。
- 实时性强: 直接反映操作系统运行时的温度状态。
- 安装与配置:
- 安装:
sudo apt-get install lm-sensors/sudo yum install lm_sensors. - 探测硬件:
sudo sensors-detect,全程按回车选择默认”yes”通常即可成功加载所需内核模块。 - 加载模块:
sudo service kmod start(或根据提示操作)。
- 安装:
- 输出解读示例 (Intel CPU):
coretemp-isa-0000 Adapter: ISA adapter Package id 0: +45.0°C (high = +84.0°C, crit = +100.0°C) Core 0: +42.0°C (high = +84.0°C, crit = +100.0°C) Core 1: +43.0°C (high = +84.0°C, crit = +100.0°C) ...Package id 0:通常指CPU插槽1(物理CPU)的温度。Core 0/1/...:各个CPU核心的温度。high:高温警告阈值。crit:紧急关机/熔断阈值。
- 常用参数:
sensors -j:输出JSON格式,便于脚本解析。sensors -A:不显示适配器名称,简化输出。watch -n 1 sensors:每秒刷新一次温度信息(需安装watch)。
- 原理: 通过内核模块(如
hwinfo – 综合硬件信息库
- 核心命令:
sudo hwinfo --sensor- 原理: 调用底层库(包括
libsensors)收集广泛的硬件信息,传感器数据是其一部分。 - 优势: 信息极其详尽,不仅包含温度,还包含电压、风扇转速、功耗等,且对硬件识别能力强。
- 安装:
sudo apt-get install hwinfo/sudo yum install hwinfo(可能需要启用EPEL仓库)。 - 输出特点: 输出内容非常丰富,包含传感器类型、设备、标签、当前值、最小值、最大值、警告阈值等,需仔细查找”Temperature”相关条目,适合需要全面了解硬件状态时使用。
- 原理: 调用底层库(包括
Windows服务器温度监控方法
Windows PowerShell (WMI/CIM)
- 核心命令:
Get-WmiObject -Namespace rootwmi -Class MSAcpi_ThermalZoneTemperature | ForEach-Object { [Math]::Round(($_.CurrentTemperature / 10) - 273.15, 2) }- 原理: 通过Windows管理规范(WMI)查询ACPI热管理区域信息。
CurrentTemperature返回的是开尔文温度值的10倍(即单位为0.1K)。 - 解读: 命令执行后输出的是计算转换后的摄氏度数值,此数值通常是CPU封装或区域温度的一个抽象表示,可能无法精确对应物理核心温度,且不同硬件实现差异大。
- 局限性:
- 输出仅为数值,缺乏明确的传感器标签(如哪个CPU、哪个核心)。
- 数据来源和准确性高度依赖硬件制造商提供的WMI驱动和ACPI表实现,可靠性通常不如专用工具。
- 可能无法获取除CPU外的其他组件(如硬盘、主板)温度。
- 原理: 通过Windows管理规范(WMI)查询ACPI热管理区域信息。
图形化第三方工具 (推荐实践)
- 核心工具:
- HWMonitor (CPUID): 轻量级、免费、用户界面直观,清晰展示CPU各核心温度、封装温度、主板温度、硬盘温度(S.M.A.R.T)、风扇转速、核心电压等,是Windows下最常用的温度监控工具之一。
- Open Hardware Monitor: 开源免费,功能与HWMonitor类似,界面简洁,支持更多传感器类型。
- HWiNFO: 功能极其强大且专业,提供系统概要信息、详尽传感器监控(包括服务器特定传感器)、实时图表、日志记录、告警功能等,是高级用户和运维人员的首选。
- 优势:
- 直观易用: 图形界面一目了然。
- 信息全面: 通常能获取CPU核心/封装、主板芯片组、VRM、硬盘、显卡等温度。
- 实时监控与记录: 支持实时图表显示和日志记录,便于追踪温度变化趋势。
- 获取便捷: 官网下载即可运行(部分需安装)。
主流服务器厂商专用工具
大型服务器厂商通常会提供功能更强大的带内管理工具,深度集成硬件监控,提供比通用命令更友好的界面和更详细的信息(包括温度阈值配置、历史日志、健康报告等):

- Dell EMC PowerEdge:
- OpenManage Server Administrator (OMSA): 基于Web的管理界面,提供全面的硬件健康监控(含详细温度信息、阈值告警),也提供命令行工具
omreport(e.g.,omreport chassis temps). - iDRAC (Integrated Dell Remote Access Controller): 带外管理卡,提供独立于OS的Web界面和RACADM命令行,是监控和管理Dell服务器的终极工具 (
racadm getsensorinfo).
- OpenManage Server Administrator (OMSA): 基于Web的管理界面,提供全面的硬件健康监控(含详细温度信息、阈值告警),也提供命令行工具
- HPE ProLiant / Synergy:
- iLO (Integrated Lights-Out): 功能等同于Dell的iDRAC,通过iLO Web界面或SSH/RESTful API (
show sensor type temperature,show system命令族) 查看详细温度信息。 - HPE OneView / InfoSight: 更高级别的集中管理平台,整合多台服务器监控。
- iLO (Integrated Lights-Out): 功能等同于Dell的iDRAC,通过iLO Web界面或SSH/RESTful API (
- Lenovo ThinkSystem:
- XClarity Controller (XCC): 等同于iLO/iDRAC,通过Web界面或命令行 (
svcinfo lsenclosuretemperature,svcinfo lssystem等命令) 管理。 - XClarity Administrator: 集中管理平台。
- XClarity Controller (XCC): 等同于iLO/iDRAC,通过Web界面或命令行 (
- Supermicro:
- SuperDoctor 5: 硬件监控管理工具,提供图形界面和命令行,支持IPMI。
- 通过IPMI (
ipmitool) 访问其BMC是最通用方法。
专业级温度监控与告警解决方案
仅靠手动执行命令无法满足生产环境需求,构建自动化监控体系是关键:
-
数据采集自动化:
- 脚本 (Linux): 使用
ipmitool或sensors编写Shell/Python脚本定时采集温度数据,输出到文件或发送到监控系统。- 示例 (Python + ipmitool):
import subprocess def get_ipmi_temps(): try: output = subprocess.check_output(['ipmitool', 'sdr', 'type', 'temperature'], text=True) temps = {} for line in output.splitlines(): parts = line.split('|') if len(parts) >= 2: sensor = parts[0].strip() value_status = parts[1].strip().split() if value_status and value_status[0].isdigit(): temps[sensor] = {'value': int(value_status[0]), 'status': value_status[1]} return temps except Exception as e: return {'error': str(e)}
- 示例 (Python + ipmitool):
- Agent集成: 在监控系统的Agent (如Zabbix Agent, Telegraf, Nagios NRPE) 中配置自定义脚本或使用插件收集温度数据。
- Zabbix: 使用
UserParameter在zabbix_agentd.conf中定义键值,或使用ipmitool/lm_sensors模板。 - Prometheus: 使用
node_exporter的ipmi_exporter或textfile_exporter结合自定义脚本。 - Telegraf: 使用
inputs.exec插件执行ipmitool或sensors命令,或inputs.ipmi_sensor插件 (需配置)。
- Zabbix: 使用
- 脚本 (Linux): 使用
-
集中监控与可视化:
- 将采集到的数据发送到Zabbix, Nagios, Prometheus+Grafana, Icinga, PRTG Network Monitor 等平台。
- 配置仪表盘(Dashboard),可视化展示各服务器、各关键组件的实时温度曲线和历史趋势。
-
智能告警:

- 在监控平台中为每个关键温度传感器设置合理的告警阈值(通常参考硬件手册或经验值)。
- 配置多级告警(Warning, Critical),并关联通知渠道(Email, SMS, Slack, WeCom, PagerDuty等)。
- 告警策略示例:
CPU Temp >= 80°C-> WarningCPU Temp >= 90°C-> Critical (可能触发自动操作)HDD Temp >= 50°C-> Warning (SAS/SATA HDD)HDD Temp >= 60°C-> Critical- 监控状态值 (e.g.,
status != 'ok')。
关键见解与最佳实践
- IPMI/BMC是基石: 对于任何专业服务器环境,
ipmitool应作为获取温度数据的首选和标准配置,务必确保服务器BMC固件保持最新,并正确配置网络访问和安全凭证。 - 理解温度阈值: 不同硬件组件(CPU型号、硬盘类型、内存规格)的正常工作温度范围和告警/关机阈值差异巨大,务必查阅服务器技术规格书(Technical Guide)和组件Datasheet获取官方数据,切勿凭感觉设定阈值。
- 关注环境与趋势: 孤立地看某一时刻的温度意义有限。持续监控温度趋势,观察其在业务高峰/低谷、环境温度变化(如夏冬交替)时的波动规律,更能发现潜在散热问题(如积灰导致散热效率缓慢下降)。
- 综合散热管理:
- 风道设计: 确保服务器机柜内气流畅通无阻,遵循前进冷风、后出热风的原则,避免线缆杂乱堵塞风道,检查服务器内部导风罩(air shroud)是否在位。
- 负载均衡: 高CPU负载必然导致高温,通过虚拟化、容器编排或负载均衡技术,避免单台服务器长时间处于超高负载状态。
- 环境温度校准: 服务器进风口温度是散热效率的起点,确保机房空调制冷充足且送风均匀,监控并记录机房环境温湿度。
- 软件监控的局限性: 操作系统层工具(
sensors,hwinfo, WMI)可能因驱动问题、内核版本或硬件兼容性导致数据缺失或不准确。当软件读数与IPMI/BMC数据或物理感受(出风口温度)存在显著差异时,应优先信任IPMI/BMC数据。 - 异常排查流程:
- 单点高温: 检查特定组件(如某个CPU、某根内存条、某个硬盘)的散热(散热器是否松动、导热硅脂是否干涸、灰尘堆积)和负载情况。
- 整体高温:
- 检查机房环境温度是否超标。
- 检查服务器风扇状态(
ipmitool sdr type fan/sensors/ 厂商工具):转速是否正常?是否有风扇故障告警? - 检查服务器进/出风口是否被遮挡?机柜气流是否通畅?
- 检查服务器负载是否异常持续高企?
- 检查BMC日志 (
ipmitool sel list) 是否有其他相关硬件告警(如电压异常)。
- 数据缺失: 检查工具是否安装配置正确?所需内核模块是否加载?IPMI驱动/BMC固件是否过旧?硬件是否支持?
服务器温度监控不仅是执行几条命令,更是构建硬件健康感知能力和主动运维体系的核心环节。 熟练掌握ipmitool等底层工具,结合自动化监控平台,深入理解硬件规格与环境因素,方能游刃有余地保障关键业务基础设施的稳定高效运行。
互动:您在服务器温度监控实践中遇到过最具挑战性的问题是什么?是某次突发的CPU高温告警,还是难以定位的硬盘过热?欢迎在评论区分享您的经历和最终解决方案,共同探讨散热优化的实战经验! 您更倾向于使用原生命令行工具还是集成监控平台来管理服务器温度?
原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/28423.html