.net - 什么是性能计数器?

标签 .net performancecounter

性能计数器到底是什么,它们是如何工作的?它们是 Windows 特有的,还是操作系统级别的概念并且也适用于 Linux 等?

如何在我的 .NET 应用程序中使用它们来测量应用程序各个部分的执行时间?

我用谷歌搜索,但令人惊讶的是没有找到任何很好的引用。

最佳答案

作为一个概念,性能计数器是内核或应用程序可以向操作系统报告的可测量、可报告指标。像 CPU 负载、内存使用、网络带宽等都是性能计数器的例子。它不仅仅是基于硬件的;网络服务器可以报告它正在处理的 session 数,或者数据库服务器可以报告每秒的连接数和查询数。至少在 Windows 中,您可以为您的应用程序创建自己的应用程序;如果您有一个将输入文件处理到数据库中的服务器应用程序,您可以让它以文件/秒或 KB/秒为单位报告其吞吐量。您可以按连续小时数或自安装以来所占时间的百分比来报告服务器正常运行时间。

根据您的开发环境(语言、框架、库)和目标操作系统,访问或创建性能计数器的方式会有很大差异,但我想不出一个至少不能报告硬件的现代内核性能数据。

关于.net - 什么是性能计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788544/

相关文章:

c# - ActiViz .NET 左键释放事件 : Where did i click

.net - Github 操作 : Report dotnet test result as annotations

c# - 如何知道给定时间使用的网络带宽?

performance - 性能计数器的性能影响是什么

azure - 可以通过 Perfmon 查看 azure 性能诊断

c# - NAudio ASIO 混音

c# - Entity Framework : Filtering navigation-property data

c# - 我如何在此代码中删除多行记录

c - 使用硬件性能计数器是个好主意

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