c++代码的CPU负载和CPU温度
C++ code for CPU load and CPU temperature
我想查看Windows中的CPU温度和CPU负载。我必须自己写,而不是使用Core Temp这样的软件,我如何访问这些信息?
我读过一个类似的问题,但是没有有用的答案:
最近我开始了一个类似的项目。我需要读取cpu温度,并在Linux和Windows系统中控制风扇。我不太了解c++和VS和DDK,但我知道如何用winring0编写一个简单的内核驱动程序和一个简单的程序。在我的笔记本电脑(以及其他大多数笔记本电脑)中,温度和风扇由嵌入式控制器控制。你有两种选择,要么你可以写一个内核驱动程序,要么你可以使用一个库来访问嵌入式控制器。这是因为Windows保护ec不被普通用户权限访问。一个很好的(和工作)库是winring0 (WinRing0_1_3_1b)。在Windows中检查ec和其他所有东西的一个有用的程序是RW工具。
看看从MSDN论坛获取CPU温度,有一些方法。
对于sane way
,您可以使用Win32_TemperatureProbe类,它从SMBIOS获取其信息。
在我读过的所有论坛和帖子中,我还没有看到使用WMI的成功实现。有人声称它可以工作,然后有人说我得到了错误xyz,这意味着它不适用于所有处理器和主板。我也没有成功。
使用OpenHardware Monitor它可以工作,但在我的实现中它只提供CPU温度而不是线程温度,与我首选的Core temp实现相比,它非常慢。缺点是Core temp是一个必须在temp数据可以提取之前运行的应用程序,我不知道直接的DLL替代方案。但是它很快,并且提供了所有平台上的所有线程temp。
相关文章:
- 处理小于cpu数据总线的数据类型.(c++转换为机器代码)
- 在模拟器中使用并集来模拟CPU寄存器有多合适
- 编写一个函数以使用 n 百分比的 CPU 使用率
- 如何禁用 CPU 的无序执行
- CPU 瓶颈;处理具有许多非静态对象的 3D 场景渲染的简单方法
- 分别测量每个线程上花费的 CPU 时间(C++)
- 循环通过网格获取温度,但不知道如何告诉程序停止循环
- 什么时候最好在子进程中使用 CPU 或 I/O 密集型代码 [ C++ ]
- 计算过去 60 秒的最低和最高温度
- 在程序运行时监视 VxWorks 中的任务 CPU 利用率
- 对于等待以 std::future wait() 返回的函数的 CPU 使用率或检查标志在循环中休眠一段时间哪个更好?
- 您选择的 CPU 不支持 x86-64 指令集
- 如何降低应用程序的 CPU 使用率?
- 对于 CPU 无法原子操作的类型,std::atomic 有什么意义?
- 如何区分CPU和内存瓶颈?
- 如何以编程方式获取任务管理器进程CPU使用率(不是PerfMon API)
- CPU 如何提供memory_order_acquire保证?
- c++代码的CPU负载和CPU温度
- Ubuntu如何在c++中检查当前CPU温度
- 在linux ubuntu 12.10和AMD FX 4100四核上获取CPU温度