草庐IT

cpu-registers

全部标签

c++ - 监控单个程序的 CPU 和磁盘利用率

如何计算另一个并发程序的CPU和磁盘利用率?IE。一个程序正在运行,另一个程序计算第一个程序的资源使用情况。我正在使用C和C++并在WindowsXP下运行。 最佳答案 这是可能的,因为ProcessExplorer可以做到,但我认为您将不得不使用某种未记录的WindowsAPI。PSAPI有点接近,但它只提供内存使用信息,不提供CPU或磁盘使用信息。 关于c++-监控单个程序的CPU和磁盘利用率,我们在StackOverflow上找到一个类似的问题: htt

c++ - 如何在循环中使用更少的 CPU?

我有一个看起来像这样的循环:while(elapsedTime我在别处读到类似的内容(CMainLoopwithout100%cpu),但是这个循环正在运行一个必须准确的高分辨率计时器。那么我应该如何在保持高分辨率的同时不占用100%的CPU? 最佳答案 您不应该忙等待,而应该让操作系统在时间结束时告诉您。http://msdn.microsoft.com/en-us/library/ms712704(VS.85).aspx高分辨率计时器(高于10毫秒)http://msdn.microsoft.com/en-us/magazine

windows - Windows 上的引脚处理器 CPU 隔离

在我主要工作的linux中,我们使用一种称为CPU隔离的技术,该技术有效地将进程锁定到处理器上,并防止处理器运行任何其他东西。我们的内核人员做了一些魔术来处理中断。在Windows中,我发现最接近的东西是亲和性概念,它似乎将进程/线程绑定(bind)到处理器。但它不能保证处理器仅运行该进程/线程,这意味着仍然可能存在上下文切换和其他抖动。有没有办法在Windows上隔离CPU以实现半确定性运行时间? 最佳答案 在用户模式下没有确切的方法。Windows主要试图防止应用程序占用所有系统资源。但是您可能会将大多数其他进程隔离到另一个核心

c - 测量 CPU 频率 (x86/x64)

我正在寻找某种库,它可以在32位和64位Windows的Intel和AMD处理器上定期为我提供准确的CPU频率值。这样做的目的是准确测量给定计算机上的CPU负载。问题是调用QueryPerformanceCounter()会返回时钟节拍(用于测量事件的持续时间),但由于SpeedStep或TurboBoost,底层CPU频率不是恒定的。我发现有几台计算机在BIOS中关闭了SpeedStep/TurboBoost,并且不会阻止基于负载的CPU频率缩放。我正在尝试查看是否有任何可用的库可用于检测CPU频率变化(很像Throttlestop/CPU-Z甚至Windows7中ResourceM

windows - 线程是否在其整个生命周期中都在同一个 CPU/内核上运行?

在多处理器计算机上的Windows中,线程是否会在其生命周期内更改CPU/内核? 最佳答案 是的,默认一个threadcanbescheduledonanyavailablecore.如果您想将线程限制到特定的一个或多个核心,则可以设置线程关联。 关于windows-线程是否在其整个生命周期中都在同一个CPU/内核上运行?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18496

windows - 批处理文件以 °C 获取 CPU 温度并设置为变量

如何获取批处理文件来计算Cpu的温度并将其作为变量返回。我知道这是可以完成的,因为我已经看到它已经完成了。该解决方案可以使用任何外部工具。我在谷歌上看了至少2个小时,但一无所获。任何人都可以帮忙。谢谢。 最佳答案 您可以使用wmic.exe:wmic/namespace:\\root\wmiPATHMSAcpi_ThermalZoneTemperaturegetCurrentTemperaturewmic的输出如下所示:CurrentTemperature2815MSAcpi_ThermalZoneTemperature的单位是开尔

c# - 在 Visual Studio 中测试/运行具有受限 CPU/RAM 的 C# 应用程序?

我已经完全开发了我的C#应用程序,目标是在CPU和RAM受限的设备上运行。是否有任何方法可以通过提供要使用多少CPU、RAM等参数来在我的开发计算机上运行/测试此应用程序? 最佳答案 一种方法是从资源监视器中获取数据,然后根据它设置一个上限所以当ram/cpu利用率达到那里时,进程进入等待状态(不管是什么使利用率更高). 关于c#-在VisualStudio中测试/运行具有受限CPU/RAM的C#应用程序?,我们在StackOverflow上找到一个类似的问题:

windows - 启用 hypertheading 的系统上的 CPU 编号

我正在尝试找出操作系统(Windows、Linux)如何在支持超线程的环境中为逻辑CPU分配数字。?这两个操作系统是否首先连续地为物理CPU分配编号,然后开始为逻辑CPU编号,或者是否遵循其他规则......?例如在具有超线程的2个物理CPU系统中,操作系统是否将编号0,2分配给第一个物理CPU,然后将1,3分配给第二个物理CPU..?任何引用资料将不胜感激。提前致谢。问候,-Jay。编辑:回答Alan的问题:我需要知道这一点,因为在我的工作中,我需要将各种线程绑定(bind)到特定的CPU以避免上下文切换,并且我想确保某些任务(线程)绑定(bind)到独立物理CPU。谢谢

windows - 我可以从 Windows 中的用户模式程序读取 CPU 性能计数器吗?

我想编程并阅读hardwareperformancecounters在所有最新的x86硬件上提供。在Linux上有各种perf_events系统可以执行此操作(以及perf实用程序可以从未修改的程序外部执行此操作)。Windows中有这样的内置工具吗?如果不存在内置设施,第二好的方法可能是使用第三方代码的另一种方法,但这不需要我签署驱动程序。 最佳答案 简答不,Windows中没有内置工具。此外,linuxperf命令在Windows10的Linux子系统上不起作用。长答案要访问这些计数器,您需要结合使用以下说明:rdpmc__re

windows - 无法在 VirtualBox 上启用多 CPU

关闭。这个问题不符合StackOverflowguidelines。它目前不接受答案。这个问题似乎与aspecificprogrammingproblem,asoftwarealgorithm,orsoftwaretoolsprimarilyusedbyprogrammers无关。如果您认为该问题与anotherStackExchangesite上的主题相关,您可以发表评论以说明可以在哪里回答该问题。关闭2年前。Improvethisquestion我想使用多个CPU在VirtualBox中运行Ubuntu 14.04(TrustyTahr)32位,但是当我停止机器并进入设置→系统→处