ServerBox 如何读取服务器温度和硬件传感器数据
温度面板
温度监控面板展示服务器上所有可用的温度传感器:
- CPU 核心温度:通常有多个(每个核心一个)
- 主板温度:如果硬件有对应的传感器
- NVMe SSD 温度:如果服务器用 NVMe 硬盘
- 其他传感器:风扇转速、电压等(取决于硬件和内核驱动)
每个传感器都有当前值和历史折线图。
温度数据来源
ServerBox 通过 SSH 连接服务器后,读取 Linux 的 /sys/class/thermal/ 目录和 sensors 命令输出来获取温度数据。也就是说:
- 你的服务器内核必须加载了对应硬件的传感器驱动
- 大多数主流服务器硬件(Intel/AMD CPU、常见主板)开箱即用
- 某些云服务器可能屏蔽了温度数据(虚拟化层限制)
温度多少算正常
不同硬件正常温度范围不同,以下是大致参考:
| 硬件 | 正常范围 | 警戒范围 |
|---|---|---|
| Intel 服务器 CPU | 40~70°C | > 85°C |
| AMD EPYC | 45~75°C | > 90°C |
| NVMe SSD | 40~60°C | > 70°C |
| 机械硬盘 | 30~50°C | > 55°C |
持续超过警戒温度会导致硬件降频(thermal throttling),服务器变慢甚至自动关机。
温度高了怎么办
- 物理环境排查:机房空调是否正常、服务器风扇是否还在转、进风口有没有被堵
- 高负载排查:温度高是因为 CPU 在忙还是散热坏了——看 CPU 使用率是否同时偏高
- 清灰:服务器积灰是散热恶化的常见原因
- 换硅脂:老服务器 CPU 硅脂可能干了
云服务器上读不到温度
这是正常的——AWS、阿里云、腾讯云等公有云的虚拟化层通常不把硬件传感器暴露给虚拟机。在云服务器上温度面板可能是空的或只有一项 acpitz 通用传感器。