问题标签 [performancecounter]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 内存带宽使用
您如何计算使用的内存 (RAM) 带宽?需要哪些性能计数器?
我遇到了一个能够做到这一点的工具,“Rightmark 多线程内存测试”。但与 Rightmark 的其他测试不同,我没有找到它的源代码,只有二进制文件
performancecounter - 安装和删除自定义性能计数器问题
我刚刚在安装了自定义性能计数器的 DLL 上执行了 installutil。我安装了 2 个类别,但后来意识到我遇到了第一个类别的问题,所以我删除了该类别,但在删除之前我运行了一个 asp.net 应用程序以确保它正常工作。
问题是在删除类别然后重新创建应用程序后记录到自定义性能计数器,但值永远不会更新。
第二个自定义类别工作正常,计数器正在填充。我可以在 perfmon 中看到这两个类别,但注意到第一个类别计数器在针对它运行 asp.net 时永远不会更新。
有没有人遇到过这个问题。我需要删除现有实例吗?我试图避免重新启动机器。
c# - 如何将性能计数器添加到我已经创建的类别
我创建了一个 PerformanceCounterCategory,如下所示
如何在类别中添加新计数器以监控另一个项目?
我找不到它的api。
performancecounter - .NET 中的自定义性能计数器/分钟
我正在尝试在 C# 中基于每分钟创建一个自定义性能计数器。
到目前为止,我只看到了 RateOfCountsPerSecond32 或 RateOfCountsPerSecond64 可用。
有谁知道基于每分钟创建自定义计数器的选项是什么?
idisposable - 拥有托管一次性资源的 IDisposable 基类,在子类中做什么?
我有一个拥有托管一次性资源(.NET PerformanceCounter)的基类。我了解在类上实现 IDisposable 以便我可以在资源上显式调用 Dispose。从我看到的示例中,人们通常使用私有布尔成员变量“disposed”并将其在 Dispose 内部设置为 true。稍后,如果尝试访问公共方法或属性,如果“disposed”为真,则会引发 ObjectDisposedException。
在子类中呢?子类如何在其公共方法和属性中知道它们已被释放?起初我认为子类不需要任何特殊的东西(比如实现他们自己的 Dispose 版本),因为需要处理的东西只在基类中(假设子类不会添加任何数据需要显式处理)并且基类的 Dispose 应该处理它。子类是否应该仅仅为了设置自己的“已处理”成员变量而重写基类的虚拟 Dispose 方法?
这是所讨论的类层次结构的一个非常精简的版本。
在我们的系统中,ReadableCounter 和 WritableCounter 是 BaseCounter 的唯一子类,它们只是通过代码生成过程再被子类化到一个级别。附加的子类级别只添加了一个特定的名称,以便可以创建直接对应于命名计数器的对象(例如,如果有一个计数器用于计算生成的小部件的数量,它最终被封装在一个 WidgetCounter 类中. WidgetCounter 包含允许创建“WidgetCounter”性能计数器的知识(实际上,只是作为字符串的计数器名称)。
只有代码生成的类被开发人员直接使用,所以我们会有这样的东西:
因此,您会看到基类拥有并管理 PerformanceCounter 对象(它是一次性的),而子类使用 PerformanceCounter。
如果我有这样的代码:
WritableCounter 如何以增量方式知道它已被处置?ReadableCoutner 和 WritableCounter 是否应该简单地覆盖 BaseCounter 的
像这样的东西:
只是设置一个 ReadableCounter/WritableCounter 级别的“disposed”成员变量?
如果基类(BaseCounter)声明为受保护(或使其成为受保护的属性)呢?这样,子类可以引用它,而不是仅仅为了记住 Dispose 已经发生而添加 Dispose 方法。
我错过了这艘船吗?
maintenance - 使用 perfmon 监控 Web 应用程序,了解随时间推移的应用程序特定趋势
我想更好地了解应用程序正在做什么。我们正在监视 ASP.NET 和 .NET 计数器,但我们需要更深入地了解正在发生的事情以及发生的速度。这方面的最佳做法是什么,是否有适用于 Microsoft.NET 环境的特定指导或文档?我会为此使用企业库吗?我们已经在使用库的一部分来将数据导入我们的应用程序。
在这一点上我们最大的痛苦:
- 对应用程序进行故障排除的方式很少
(有日志,但日志记录过多,以至于日志由于大小而变得几乎无用)
- 对现有性能的影响最小
- 看不到 Enjim 客户在做什么,比如命中未命中等。
- 监控非常独特的性能(如内存缓存服务器死机)
奖金
- 使用 MOM 中收集的数据
- 使用这些数据来优化应用程序,在那里它会产生最好的影响
- 增加系统的可维护性,让我们的运维人员可以更轻松地维护这个系统。
c# - 如何获取 MSMQ 性能计数器?
我有一堆我使用 MessageQueue.Create(path) 以编程方式创建的 MSMQ,但是当我查看 perfmon 时,我没有看到列出的那些队列实例,只列出了我手动创建的队列。如何获取所有队列的性能计数器?
c# - 在服务中删除和创建性能计数器时,它可能会挂起该服务
在我编写的应用程序中,我们在应用程序启动时删除并重新创建性能计数器。
从控制台运行此应用程序时,应用程序会删除并重新创建计数器和计数器类别。
当我们从服务运行时,应用程序会按预期删除计数器类别,但在创建新类别时它会挂起,直到服务超时
工作正常,但在此方法中挂起
在 .Exists 行上。我希望这与权限有关,但在生产中,我们必须将服务作为本地系统运行,我真的需要在代码中修复它而不提升用户帐户
谢谢
c# - 为性能计数器安装 Total 实例
VS 2005、C# 2.0、.NET 2.0/3.0、Win2003
我正在尝试为 MultiInstance 安装一组性能计数器。我注意到,即使没有其他实例,某些系统性能计数器类别也设法使“总数”保持活跃。ASP.NET Apps 2.0.50727 就是一个例子。
所以我一直在尝试复制这个。我在 Installer 类中创建了以下例程,然后将其添加到安装项目中的自定义操作中。
如果我取消注释该Debugger.Break()
行并逐步执行,我可以看到计数器实际上是使用正确的实例名称创建的,并且 Visual Studio Server Explorer 会显示该实例以及设置为 Global 的 InstanceLifetime。我没有在安装程序中调用 RemoveInstance() 方法。
然而,在安装程序完成几秒钟后,该实例从性能监视器和 VS 服务器资源管理器中消失。我如何让它粘住?或者我可以吗?
windows - Linux/Unix 中“性能计数器”的概念
Windows 具有性能计数器基础结构。操作系统提供了一些常用的计数器,我可以自己添加。Linux/Unix中对应的概念是什么?