草庐IT

mars-cpu

全部标签

c++ - 如何确定机器上的硬件(CPU 和 RAM)?

我正在开发一个跨平台分析套件,并希望在每次运行的报告中添加有关机器CPU(架构/时钟速度/内核)和RAM(总数)的信息。目前我需要针对Windows和Unix,所以我需要从两个平台获取这些信息的方法,有什么线索吗?编辑:感谢您的出色回答,现在我得到了CPU架构、CPU内核数和总内存,但我仍然缺乏CPU的时钟速度,对此有什么想法吗? 最佳答案 这是在Windows机器上获取所需信息的一种方法。我从一个实际项目中复制并粘贴了它,并进行了一些小的修改,因此请随时清理它以使其更有意义。intCPUInfo[4]={-1};unsignedn

手机CPU性能天梯图及品牌

芯片(soc)跟手机的关系,就好像大脑跟人体的关系一样,一切行为,都是由大脑发出指令来执行的,所以手机芯片的强弱,会直接影响手机操作的响应速度和流畅性。一.手机CPU各项排行下图是极客湾移动端CPU性能排行榜极客湾这个排行榜的分数占比是:单核30%+多核70%。极客湾移动端GPU性能排行榜极客湾这个排行榜的分数占比是:50%峰值性能+50%持续性能。极客湾移动端芯片综合性能排行极客湾这个排行榜的分数占比是:CPU50%+GPU50%。而且不包含功耗,AI,ISP和基带性能。  下图为快科技的手机处理器天梯图: 二.各品牌处理器1.高通骁龙系列(Snapdragon)处理器高通是指美国高通公司,

c++ - 我可以在现代 Intel Core CPU 上测量分支预测失败吗?

Thisquestion它的答案最近被标记为史诗般的答案,这让我想知道;我可以根据CPU分支预测失败来衡量Windows中正在运行的应用程序的性能吗?我知道存在一些静态分析工具,它们可能有助于优化代码以在分支预测情况下获得良好的性能,并且手动技术可以通过简单地进行更改和重新测试来提供帮助,但我正在寻找一些可以在Windows应用程序运行时报告一段时间内分支预测失败的总数,我希望VisualC++的一些Profiler工具可以帮助我。就这个问题而言,所讨论的应用程序要么是使用原生编译器(例如Windows的VisualC++)构建的,要么是使用其他一些原生编译器(例如GCC、FreePa

c++ - 我可以在现代 Intel Core CPU 上测量分支预测失败吗?

Thisquestion它的答案最近被标记为史诗般的答案,这让我想知道;我可以根据CPU分支预测失败来衡量Windows中正在运行的应用程序的性能吗?我知道存在一些静态分析工具,它们可能有助于优化代码以在分支预测情况下获得良好的性能,并且手动技术可以通过简单地进行更改和重新测试来提供帮助,但我正在寻找一些可以在Windows应用程序运行时报告一段时间内分支预测失败的总数,我希望VisualC++的一些Profiler工具可以帮助我。就这个问题而言,所讨论的应用程序要么是使用原生编译器(例如Windows的VisualC++)构建的,要么是使用其他一些原生编译器(例如GCC、FreePa

c++ - 标准C++ 11是否保证high_resolution_clock测量实时(非CPU周期)?

众所周知,clock()可能显示小于或大于实时值-在下面的示例1和2中都显示了这两种情况。对于C++11中时间的高精度测量,我们可以使用:std::chrono::high_resolution_clock::now();-保证高精度std::chrono::steady_clock::now();-保证实时测量clock();-保证高精度,但测量CPU周期而不是时间time(&t_start);-精度不高,但可以实时测量1-例如:http://ideone.com/SudWTM#include#include#include#include#includeintmain(void){

c++ - 标准C++ 11是否保证high_resolution_clock测量实时(非CPU周期)?

众所周知,clock()可能显示小于或大于实时值-在下面的示例1和2中都显示了这两种情况。对于C++11中时间的高精度测量,我们可以使用:std::chrono::high_resolution_clock::now();-保证高精度std::chrono::steady_clock::now();-保证实时测量clock();-保证高精度,但测量CPU周期而不是时间time(&t_start);-精度不高,但可以实时测量1-例如:http://ideone.com/SudWTM#include#include#include#include#includeintmain(void){

windows服务器system进程cpu占用率高解决方案(ntoskrnl.exe)

之前给客户服务器部署过服务器监控程序,今天收到邮件告警提醒CPU过高,进入监控发现System进程突然升高,这个是系统进程,只查看进程cpu占用率没用,需要去查看System进程里的线程,具体是由那个线程占用CPU比较高。 去官网下载了 ProcessExplorer 查看服务器的进程详情,(问题服务器cpu过高有很明细的卡顿现象,以下操作需要有点耐心),) 点击System后发现该进程里的ntoskrnl.exe占用CPU过高,网上查询资料针对ntoskrnl.exe的CPU占用过高可以通过设置“任务计划程序”来控制。(注:此处ntoskrnl.exe的解决方案为什么需要去设置任务计划程序因

c++ - Visual Studio 2015 - CPU 使用情况分析不起作用?

我最近从VisualStudio2013Community升级到VisualStudio2015Community。我非常依赖“CPU使用率”工具,可以通过以下操作找到该工具:点击“调试”点击“启动诊断工具而不进行调试”点击“CPU使用率”复选框点击“开始”按钮程序完成后,应该会向您显示每个功能和花费的时间。相反,我得到的只是可执行文件的名称,我可以继续扩展而不是查看函数名称——它不知道函数的名称。这在VisualStudio2013上运行良好...我将能够看到函数名称并且一切正常。我尝试创建一个新的“测试”解决方案/项目,看看这是否有效,我得到了相同的结果:没有函数名称。这对任何人都

c++ - Visual Studio 2015 - CPU 使用情况分析不起作用?

我最近从VisualStudio2013Community升级到VisualStudio2015Community。我非常依赖“CPU使用率”工具,可以通过以下操作找到该工具:点击“调试”点击“启动诊断工具而不进行调试”点击“CPU使用率”复选框点击“开始”按钮程序完成后,应该会向您显示每个功能和花费的时间。相反,我得到的只是可执行文件的名称,我可以继续扩展而不是查看函数名称——它不知道函数的名称。这在VisualStudio2013上运行良好...我将能够看到函数名称并且一切正常。我尝试创建一个新的“测试”解决方案/项目,看看这是否有效,我得到了相同的结果:没有函数名称。这对任何人都

c++ - 如何在 Windows (win32) 上获取每个线程的 cpu 使用率

寻找Win32API函数、C++或Delphi示例代码,告诉我线程的CPU使用率(百分比和/或总CPU时间)(而不是进程的总数)。我有线程ID。我知道SysinternalsProcessExplorer可以显示此信息,但我的程序中需要此信息。 最佳答案 您必须使用这些函数来获取每个线程和进程的cpu使用率。GetThreadTimes(检索指定线程的计时信息。)GetProcessTimes(检索指定进程的计时信息。)GetSystemTime(检索当前系统日期和时间。系统时间以协调世界时UTC表示)这里有一篇来自Dobb博士Wi