需结合lm-sensors与增强型工具监控负载与温度:一、安装配置lm-sensors获取原始温度数据;二、编译支持sensors的htop定制版;三、用shell脚本动态更新终端标题栏温度;四、推荐glances一站式监控,支持温度高亮与告警;五、通过systemd定时服务实现越限告警。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在Linux服务器上需要同时监控系统负载与CPU核心温度,则标准的htop工具本身不支持温度读取,必须结合硬件传感器与增强型监控方案。以下是多种可协同工作的部署与监控方法:
一、安装并配置lm-sensors以获取CPU温度
lm-sensors是Linux下检测硬件健康状态(包括CPU温度、风扇转速、电压)的核心工具,为后续集成提供原始数据源。
1、执行sudo apt install lm-sensors(Debian/Ubuntu)或sudo yum install lm_sensors(CentOS/RHEL/AlmaLinux)安装传感器驱动。
2、运行sudo sensors-detect,按回车跳过提示,当询问“Do you want to generate /etc/sensors.conf?”时输入YES。
3、执行sudo service kmod start(RHEL系)或sudo systemctl restart module-init-tools(Debian系)加载内核模块。
4、运行sensors命令,确认输出中包含类似“Package id 0: +48.0°C”或“Core 0: +46.0°C”的温度行。
二、部署htop并启用插件式温度显示(需编译定制版)
原生htop不显示温度,但可通过补丁方式将sensors数据嵌入htop顶部栏;该方法要求从源码编译带温度支持的htop分支。
1、安装编译依赖:sudo apt install build-essential libncursesw5-dev libnl-3-dev libnl-genl-3-dev(Debian/Ubuntu)。
2、克隆支持温度的fork仓库:git clone https://github.com/hishamhm/htop.git && cd htop。
3、检出含sensors支持的分支(如存在):git checkout sensors-support(若不存在则跳至步骤5)。
4、执行./autogen.sh && ./configure --enable-sensors && make && sudo make install。
5、若官方分支无温度支持,可手动打补丁:下载对应版本的htop-sensors-patch.diff,运行patch -p1
三、使用coretemp+htop组合脚本实现动态温度叠加
无需修改htop源码,通过后台定时采集sensors输出并注入到htop顶部状态栏旁,以终端复用方式呈现双维度指标。
1、创建监控脚本:sudo nano /usr/local/bin/htop-temp.sh。
2、写入以下内容:
#!/bin/bash
while true; do
TEMP=$(sensors | grep "Package" | awk '{print $4}' | tr -d '+' | cut -d. -f1)2>/dev/null || TEMP="N/A"
echo -ne "\033]0;CPU Temp: ${TEMP}°C\007"
sleep 2
done
3、赋予执行权限:sudo chmod +x /usr/local/bin/htop-temp.sh。
Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。
4、新终端中先运行nohup /usr/local/bin/htop-temp.sh &,再启动htop,观察终端标题栏实时更新温度值。
四、采用glances全栈监控替代方案(推荐快速部署)
glances内置对sensors的自动识别能力,可一站式展示CPU负载、各核心温度、内存、磁盘I/O及网络流量,且支持Web界面与告警。
1、安装glances及其依赖:sudo pip3 install glances[all](需已安装Python3-pip)。
2、确保lm-sensors已配置完成并能正常输出温度值。
3、运行glances --export sensors命令验证传感器模块是否激活。
4、直接执行glances启动交互界面,顶部即显示“CPU Temp: 47°C”及“Core 0: 46°C, Core 1: 45°C”等明细。
5、按c键聚焦CPU视图,按t键切换至温度专用面板,所有温度值均以红色高亮,超75°C自动标为黄色警告。
五、使用systemd服务长期守护温度告警进程
当需在温度越限时自动记录日志或触发降温动作(如调高风扇转速),可构建独立systemd服务监听sensors输出。
1、创建服务文件:sudo nano /etc/systemd/system/coretemp-alert.service。
2、填入以下内容:
[Unit]
Description=Core Temperature Alert Service
After=multi-user.target
[Service]
Type=oneshot
ExecStart=/bin/sh -c 'TEMP=$(/usr/bin/sensors | grep "Package" | awk "{print \$4}" | tr -d "+." | cut -d. -f1); [ "$$TEMP" -gt "80" ] && logger "CRITICAL: CPU temp $$TEMP°C > 80°C"'
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
3、启用服务:sudo systemctl daemon-reload && sudo systemctl enable coretemp-alert.service。
4、设置定时触发:sudo systemctl edit coretemp-alert.timer,添加OnUnitActiveSec=30s,保存后运行sudo systemctl enable --now coretemp-alert.timer。










