当前位置: 首页 > news >正文

Linux获取CPU/GPU的温度

        在 Linux 系统中,/sys/class/thermal/thermal_zone0/temp 文件中的温度值通常以 毫摄氏度(millidegree Celsius) 为单位存储。这意味着你需要将读取的值除以 1000 来转换为常见的摄氏度(°C)。

换算方法:

  1. 读取文件内容

    cat /sys/class/thermal/thermal_zone0/temp

    例如,输出可能是 53000

  2. 转换为摄氏度

    温度(°C)= 读取的值 / 1000

    例如:

    53000 / 1000 = 53.0°C

注意事项:

  1. 单位确认:绝大多数 Linux 系统使用毫摄氏度(如 thermal_zone),但极少数情况下可能是其他单位(如某些嵌入式设备)。如果不确定,可以查阅相关硬件文档。

  2. 多 thermal_zone:如果有多个传感器(如 CPU、GPU 等),可能会存在 thermal_zone1thermal_zone2 等,需分别读取。

  3. 动态更新:该文件的值会实时更新,可以通过 watch 命令动态监控:

    watch -n 1 'cat /sys/class/thermal/thermal_zone*/temp'

代码范例: 

void* monitor_thermalSensor_thread(void *data)
{FILE *fp = NULL;char buffer[10];int temp = 0;ALOGI("[%s]\n",__func__);while(1){fp = fopen("/sys/class/thermal/thermal_zone0/temp", "r");if(fp == NULL) {sleep(1);continue;}memset(buffer, 0, sizeof(buffer));fgets(buffer, sizeof(buffer), fp);temp = atoi(buffer);printf("temperature: %d \n", temp);fclose(fp);if(temp > 120000) //120度{ALOGI("CPU temperature is too high. Reboot!!");sleep(6);am_property_set("ctl.start","reboot");}sleep(30);}ALOGI("======	monitor_thermalSensor_thread exit!!!	======\n");pthread_detach(pthread_self());pthread_exit(NULL);
}void monitor_thermalSensor_temperature(void)
{pthread_t monitor_thermalSensorTemperature_thread;pthread_create(&monitor_thermalSensorTemperature_thread, NULL, monitor_thermalSensor_thread, NULL);return;
}

 

 


文章转载自:
http://bourree.apjjykv.cn
http://acuity.apjjykv.cn
http://arseniureted.apjjykv.cn
http://activism.apjjykv.cn
http://beetleweed.apjjykv.cn
http://articulatory.apjjykv.cn
http://blockette.apjjykv.cn
http://answerer.apjjykv.cn
http://akala.apjjykv.cn
http://apheliotropic.apjjykv.cn
http://acetous.apjjykv.cn
http://ascariasis.apjjykv.cn
http://amdg.apjjykv.cn
http://biospeleology.apjjykv.cn
http://cartwheel.apjjykv.cn
http://budding.apjjykv.cn
http://chondroitin.apjjykv.cn
http://butyrometer.apjjykv.cn
http://chairlady.apjjykv.cn
http://aftermentioned.apjjykv.cn
http://araneology.apjjykv.cn
http://cancerate.apjjykv.cn
http://chronometrical.apjjykv.cn
http://aviate.apjjykv.cn
http://carlin.apjjykv.cn
http://cacodylic.apjjykv.cn
http://aerugo.apjjykv.cn
http://carnivore.apjjykv.cn
http://binit.apjjykv.cn
http://calamitous.apjjykv.cn
http://www.dtcms.com/a/281026.html

相关文章:

  • docker部署gbase8s(数据持久化)并用可视化工具管理
  • NuGet01-安装及使用
  • gRPC实战指南:像国际快递一样调用跨语言服务 —— 解密Protocol Buffer与HTTP/2的完美结合
  • 【GPIO】从STM32F103入门GPIO寄存器
  • Video Python(Pyav)解码一
  • 面试150 完全二叉树的节点数
  • 力扣73:矩阵置零
  • 20250715_Sneak_neuro 靶机复盘
  • 三种深度学习模型(LSTM、CNN-LSTM、贝叶斯优化的CNN-LSTM/BO-CNN-LSTM)对北半球光伏数据进行时间序列预测
  • 【15】MFC入门到精通——MFC弹窗提示 MFC关闭对话框 弹窗提示 MFC按键触发 弹窗提示
  • C++(STL源码刨析/stack/queue/priority_queue)
  • Linux操作系统之信号:保存与处理信号
  • 23种设计模式--#1工厂模式
  • 运维打铁: 软件定义网络(SDN)的实践应用
  • tun2socks原理浅析
  • 在新闻资讯 APP 中添加不同新闻分类页面,通过 ViewPager2 实现滑动切换
  • 【LeetCode 热题 100】226. 翻转二叉树——DFS
  • Halcon双相机单标定板标定实现拼图
  • 野卡恢复运营?关服已成趋势
  • 路由器的核心原理以及作用
  • 某东 jdgs参数unidbg环境检测patch分析
  • 健康监测的微泰医疗的公司创始人背景、股权构成、产品类型及技术能力的全方位解读
  • 腾讯元器开发流程解析
  • Enhancing Input-Label Mapping in In-Context Learning withContrastive Decoding
  • 每日钉钉API探索:chooseUserFromList灵活选取自定义联系人
  • 基于 p5.js 实现的未来感神经网络可视化特效
  • Jupyer 魔法方法
  • 专题 函数闭包
  • 海狸IM - 一个功能完整的开源即时通讯系统
  • 数据库中索引到底对哪些sql操作具有提速作用?