jjzjj

performanceCounter

全部标签

c# - RateOfCountsPerSecond32 类型的计数器始终显示 0

我有一个Windows服务,它通过WCF服务接口(interface)为一些虚拟队列的消息提供服务。我想公开两个性能计数器-队列中的项目数每秒从队列中移除的项目数第一个工作正常,第二个在PerfMon.exe中始终显示为0,尽管RawValue看起来是正确的。我正在创建这样的计数器-internalconststringPERF_COUNTERS_CATEGORY="HRG.Test.GDSSimulator";internalconststringPERF_COUNTER_ITEMSINQUEUE_COUNTER="#Messagesonqueue";internalconststr

c# - 最简单的性能计数器示例

启动和运行性能计数器所需的最少C#代码量是多少?我只想测量代码中两点之间的CPU周期数和/或时间。我已经浏览了网络上所有的华夫饼,但似乎比这样一个微不足道的任务所需的代码要多得多。我只想快速启动并运行测量,并更加专注于我正在做的事情。 最佳答案 我认为您不需要性能计数器。您需要的时间不只是可以从StopWatch获得的时间吗??它非常准确。Stopwatchwatch=Stopwatch.StartNew();//Doworkwatch.Stop();//elapsedtimeisinwatch.Elapsed但是,要回答你实际提出

c# - 当前进程的性能计数器 CPU 使用率超过 100

我想显示我的多线程应用程序(在多核处理器上工作)的CPU使用情况。我想收到接近任务管理器的号码。但我得到的数字超过100%。甚至超过500%。是的,我知道,对于类别"Process"的计数器"%ProcessorTime"我需要划分为Environment.ProcessorCount或“NumberOfLogicalProcessors”(与我的配置相同)。而500%是此操作之后的结果。我在具有不同硬件(i7、i5、Core2)和软件配置(具有所有更新的Windows7SP1、具有所有更新的Windows2008R2SP1)的不同计算机上测试了这个示例,但遇到了同样的问题。publi

c# - PerformanceCounterCategory.GetCategories 与 Perfmon 不一致

好的,所以我基本上是在尝试创建一个已安装的性能计数器类别列表,就像您在PerfMon中获得的那样。为此,我正在使用System.Diagnostics.PerformanceCounterCategory.GetCategories()这似乎有效,直到您检查列表,并发现其中一些丢失了。我发现缺少的第一个是ReadyBoost缓存。这是因为该项目被设置为在“x86”上编译。将其更改为“任何CPU”解决了该问题。然而,仍然有一些缺失,例如,其中一台测试机器有一个“授权管理器应用程序”类别(我的没有,而且似乎没有人知道为什么,或者它来自哪里)但是,在那台机器上,性能计数器类别显示在PerfM

c# - 列出所有进程及其当前内存和 CPU 消耗?

如何获取C#中所有进程的列表,然后获取每个进程的当前内存和CPU消耗?非常感谢示例代码。 最佳答案 Processclass有一个GetProcesses方法,可以让您枚举正在运行的进程并列出一堆统计信息,例如内存使用情况和CPU时间。查看统计信息属性下的文档。内存使用是一件复杂的事情。确实没有一个数字可以描述用法。请参阅Russinovich关于此事的优秀系列文章。第一部分在这里:http://blogs.technet.com/markrussinovich/archive/2008/07/21/3092070.aspx

c# - 性能计数器类别名称? (C#)

我正在尝试将性能计数器编程到我的C#应用程序中,该应用程序启动另一个进程并检查该启动进程的处理器使用情况。据我了解,性能计数器类要求我分配一个类别名称、一个计数器名称和一个进程名称。我可以很容易地获得进程名称,但是互联网上是否有某种列表包含我可以分配的所有可能的类别和计数器名称?我尝试在MSDN上搜索类似这样的内容,但没有找到任何内容。感谢大家的帮助! 最佳答案 我想您想知道您可以监控流程的哪些方面。进程性能计数器列表可用here.不过,您可以使用GetCategories列出机器中所有类别的静态方法,或者您可以更具体地为“Proc

c++ - 浮点运算性能 C++

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:Floatingpointdivisionvsfloatingpointmultiplication最近,我写了一个程序来计算我的电脑需要多长时间计算实数乘法、除法和加法。为此,我使用了函数QueryPerformanceFrequency和QueryPerformanceCounter以获得时间间隔。我已经使用6,000,000次迭代测试了我的程序:6000000次乘法、除法和求和(使用浮点变量),并得到以下结果:O.S=WindowsVista(TM)HomePremium,32-bit(ServicePa

c++ - 使用 QueryPerformanceCounter() 倒计时

我在thispost中找到了有关使用QueryPerformanceCounter的有用信息但我面临一个我还没有找到答案的问题。我正在为WindowsCE6.0开发一个应用程序,需要GetTickCount可以提供的更好的分辨率。这就是我选择QueryPerformanceCounter函数的原因。我观察到我得到的计数器值来回变化。虽然这不是最终的应用程序,但这个小例子说明了问题:inti;BOOLbRet;LARGE_INTEGERliCounter;for(i=0;i它打印一系列100个计数器值,这些值预计是递增的。然而,有一些计数器值相对于先前的值递减。例如:...计数器值:65

c++ - 在 Visual C++ 中创建自定义性能计数器

有人知道使用普通非托管VisualC++创建自定义性能计数器的方法吗?我知道使用托管C++可以轻松完成,但我需要使用非托管Windows服务来完成。我也知道您可以检索性能计数器数据,但我需要创建一些自定义计数器并在应用程序运行时递增它们。 最佳答案 对添加C++性能计数器的支持在Vista及更高版本中发生了变化。另一个答案中建议的性能DLL方法仍然有效,但描述的新技术here更易于使用。在这种方法中,您编写一个描述您的计数器的list,运行CTRPP,这是一个从您的list生成代码的工具。编译此代码并将其与您的应用程序链接,并添加一

c++ - 在 Windows 上读取性能数据计数器是否需要任何特殊的安全权限?

我正在努力将Windows应用程序从始终作为SYSTEM帐户运行迁移到作为受限用户帐户运行。这个应用程序做的许多事情之一是查询WindowsPerformanceCounters为了记录整个系统内存和CPU使用情况。MSDN的listofPrivilegeConstants是模糊的,但SE_PROF_SINGLE_PROCESS_NAME或SE_SYSTEM_PROFILE_NAME让我觉得可能需要这种操作。但是,MSDN的功能文档如PdhOpenQuery,PdhAddCounter,和PdhCollectQueryData不要提及任何必需的特权。鉴于此,查询性能数据计数器是否需要任