前几天,服务了我几年的NUC电脑开始不定期自动进入S4休眠,尤其是网页上出现视频的时候,过一会必然会开始休眠。在按下电源键从休眠中恢复的时候,映入眼帘丑陋的黑底白字提示我发生了什么:机器刚刚发生了温度进入了Critical状态。也许电脑小白将会立刻陷入恐慌,不知道发生了什么,但作为BIOS老炮的我立刻明白了发生了什么:因为CPU温度太高,ACPI的_CRT事件被触发了,操作系统进行了保护性休眠。(什么是_CRT,可以阅读这篇文章: 老狼:CPU风扇停转后会发生什么?CPU凭什么烧不坏 ) 既然知道原因,那就开始解决问题。我先用测温软件检测了一下CPU各个内核在普通负载和高负载的温度。再打开机器,用皮老虎对着NUC的进风口和主板风扇等地方一统吹,再次打开了测温软件,发现平均温度降低了10度。问题解决,多么简单!今天,我来介绍一下我经常用得到的测温软件,同时本着专栏授人以鱼不如授人以渔的精神,科普一下测温软件是怎么读到CPU温度的。 简单靠谱测温软件:CoreTemp 很多同学用 NZXT's CAM和 AIDA64测温,在我看来,有些杀鸡用牛刀了。这里介绍一个简单的小程序:CoreTemp:

编辑

CoreTemp界面

1MB多一点的size,可以提供足够多的信息了。界面和著名的CPU-Z有些类似,简单,但信息量丰富。比较重要的有TDP、Power、TjMax和各个内核的温度,包括最小值和最大值。这点比较重要,大家可以将它在后台开启一段时间,运行一些拷机程序,看看最高温度能达到多大。 下载安装后,在我过热的NUC上打开,是这样:

编辑

添加图片注释,不超过 140 字(可选)

这里需要注意我特别标出的两个值:我的主板BIOS设置的TjMax值是100度,也就是超过100度,PROCHOT#将被使能,就要开始降频了;而我的内核2在我几乎什么都没做的情况下,最高温度已经达到100度,已经开始降频使用。 那么这个TjMax是什么意思?这个软件又是怎么得到各个内核的温度的呢? CPU内核测温原理 Intel在Pentium Ⅱ和之后的CPU中,植入了热敏二极管(Thermal Diode)直接测量核心温度,开创了半导体测温技术的先河,术语叫做DTS(数字温度传感器,digital thermal sensor)。与此同时,是在CPU内部集成了温度控制电路(Thermal Control Circuit,TCC),由其自身执行温度控制功能。在DTS温度超过CPU的额定核心最高温度(TjMAX,maximum junction temperature)时会引发CPU的降温措施,减慢CPU的执行速度,直至关机。 CPU可以工作的温度在-50°C到110°C之间。在-50°C以下,CPU将不能稳定工作。在110°C以上,CPU有烧毁的风险。这个范围之外,因为CPU内部器件比热容不同,膨胀系数不同,会导致CPU内部器件产生裂缝和虚焊等等风险。实际上CPU内部的传感器会不停的向CPU内部的管理器报告温度状况,这些传感器不但有最高值,也有 最低值 。他们的差不变,但中位线可以调整。就像一个滑动窗口,随时监控CPU各种温度异常,超过范围就会强制关闭CPU。这个窗口大致会在-35°C到110°C之间。因为DTS的值只有一个字节,我们就以TjMax作为中位线,DTS的数值就是相对TjMax的差值(Offset)。那么这个这个DTS的值,软件是怎么读出来的呢? 内核温度通过MSR寄存器可以读取。在x86编程“圣经”Intel的x86 SDM的2.1节,MSR 0x19C就可以读到DTS的值:

编辑

添加图片注释,不超过 140 字(可选)

注意两点:

  1. 这个值是相对于TjMAX的差值(Offset),要先通过另一个MSR读到TjMAX的值,再计算成摄氏度。

  2. 这个MSR是CPU中的PCU通过读取每个内核(Core)的DTS值,然后反映到MSR中的。也就是说这个MSR的作用域是各个内核:HT的两个线程共享一样的MSR,各个内核这个MSR读取的值不同。

结语 不但是CoreTemp,大部分测温软件都是通过这种方式读取CPU内核温度。最后,我给大家出一个思考题:我们现在知道每个内核的DTS温度可以通过MSR读取,是一组值;我们还知道系统温度控制系统的很多策略的触发温度是一个值,那么这个值和这组值,以及系统中其他部分的温度是什么关系?欢迎留言讨论。

CPU测温软件怎么读出来的内核温度?有什么简单靠谱的读取相关推荐

  1. linux cpu降频怎么设置,Android系统修改CPU降频温度阈值、修改CPU关内核温度阈值的方法...

    1.关闭CPU降频温度: 目录:MSM8916.LA.1.1-PostCS-CT-CMCC-r113500.1srcLINUXandroidvendorqcomproprietarythermal-e ...

  2. vue 绘制体温单与三测单组件 实现前端js打印

    更新: 代码开源 https://github.com/mydaoyuan/my-development 有帮助请帮忙点个 start .企鹅:1534815114 如何使用chatGPT辅助开发复杂 ...

  3. 千万别相信鲁大师的硬件测温和CPU测温功能!!

    很多人本来随手安装的一个软件, 相信也信任得过它 , 这下让我测试对它失望了,没想到鲁大师这个测温功能实在太搓了!! 白白浪费了我一晚上,  搞来了硅胶 ,弄了几遍  , 还是一样, 还以为买了水货 ...

  4. python 策略回测期货_量化投资实战教程(1)—基于backtrader的简单买入卖出策略

    都说Python可以用于量化投资,但是很多人都不知道该怎么做,甚至觉得是非常高深的知识,其实并非如此,任何人都可以在只有一点Python的基础上回测一个简单的策略. Backtrader是一个基于Py ...

  5. pyqt5如何循环遍历控件名_如何用 PyQt5 快速构建一个简单的 GUI 应用

    点击上方"Python全家桶","星标"或"置顶" 关键时刻,第一时间送达 本文已获授权,欢迎分享转发 1. 介绍 Python GUI 常 ...

  6. 多CPU,多核,多进程,多线程以及进程和线程的简单理解以及区别

    当面临这些问题的时候,有两个关键词无法绕开,那就是并行和并发. 首先,要先了解几个概念: 1.进程是程序的一次执行. 2.进程是资源分配的基本单位. 3.一个进程可以包括多个线程. 4.在单CPU计算 ...

  7. 关于farpoint公司的控件:SPREAD for .NET Windows Forms Ed.的一些简单方法.

    View Code using System;using FarPoint.Win.Spread ;using System.Drawing;using System.Windows.Forms;na ...

  8. 怎么看服务器cpu温度命令_简单几步使用zabbix监控Linux物理服务器CPU温度

    前段时间有个属于笔者维护的小机房空调故障,温度过高导致系统卡慢,多日无人发现.于是想着使用zabbix监控CPU温度并设置告警阀值,同时也能监控到风扇异常.挡风板太脏空气不畅.进程死锁导致CPU使用率 ...

  9. jmeter压测、操作数据库、分布式、 linux下运行的简单介绍

    一.jmeter压测 1.如何压测 常规性能压测:10-15分钟 稳定性测试:一周.2天等 如果想要压测10分钟,勾选永远,勾选调度器,填写600秒.也可以使用固定启动时间. 2.tps.响应时间 ( ...

  10. linux服务器怎么降低内核cpu进程,Linux性能挖潜的隐藏招数:内核CPU亲和性参数调整...

    作者:李彬,赵雪枫,金融科技工程师,架构师社区特邀作者! 应用服务性能调优,是每个系统投产前都需要关注的问题,系统及软件层面的调优方法均有大量文章介绍,但在所有招数使出后,是否就无潜可挖了?如果了解L ...

最新文章

  1. CSS3颜色不透明度如何设置
  2. mysql根据当前时间删除_从日期时间早于另一项日期时间的Mysql表中删除
  3. Angularjs $scope 里面的$apply 方法 和 $watch 方法
  4. idea中修改项目代码后,Git没有提示代码有改动(解决办法)
  5. PyTorch基础-使用LSTM神经网络实现手写数据集识别-08
  6. 136. Single Number
  7. Python中的getpass模块
  8. WEB攻防实战篇,思维导图
  9. GdiPlus[47]: IGPMatrix 矩阵(二)
  10. matlab 图像常用函数
  11. 51nod 1686 第K大区间 二分瞎搞
  12. 引入深国际、鲲鹏资本战略投资 苏宁易购复牌涨停
  13. [D3] Start Visualizing Data Driven Documents with D3 v4
  14. mysql 覆盖索引 简书_mysql覆盖索引与回表
  15. leetcode [383] 赎金信 / Ransom Note , 空间换时间的哈希策略
  16. 100以内奇数积和偶数积分别的和
  17. 打造一款CPS返佣小程序之创建淘宝联盟账号及获取饿了么佣金路径《二》
  18. Pr 音频效果参考:延迟与回声
  19. 什么是mybatis,全是干货
  20. Maven中settings文件详解

热门文章

  1. ubuntu 下安装 face_recognition
  2. access 英语什么意思_access是什么意思_access怎么读_access翻译_用法_发音_词组_同反义词_入口_出口-新东方在线英语词典...
  3. 47名应届生毕业生,骗领49万杭州人才补贴!检察机关建议从宽处理
  4. 个人学习java的真实经历!
  5. WIN7系统的虚拟机C盘扩容步骤
  6. java水仙花数编程_水仙花数java编程实现
  7. 遇到服务器网络偶尔断线如何检查
  8. ReentrantLock 源码简单分析
  9. chrome 您的浏览器禁用了Javascript
  10. Hexo 关闭文章评论