You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core服务Windows性能监视器缺失CLR计数器问题咨询

查看Perfmon支持的.NET Core计数器

可以通过两种方式快速查看可用的.NET Core性能计数器:

  • 使用dotnet-counters工具
    这是.NET SDK自带的命令行工具,无需额外安装。执行以下命令:

    • 列出所有全局可用的.NET计数器类别:
      dotnet counters list
      
    • 查看当前运行的.NET进程:
      dotnet counters ps
      
    • 针对特定进程实时监控计数器:
      dotnet counters monitor --process-id <你的服务PID>
      
  • 通过Perfmon界面筛选
    打开性能监视器(perfmon),点击「添加计数器」按钮,在「性能对象」下拉列表中查找带有.NET Core前缀的类别,这些就是Perfmon支持的.NET Core计数器集合。

获取.NET Core Locks and Threads类计数器(对应原.NET CLR LocksAndThreads)

你找不到.NET CLR LocksAndThreads是因为.NET Core的计数器命名和.NET Framework不同,对应的类别是.NET Core Locks and Threads,操作步骤如下:

  1. 确认计数器启用状态
    .NET Core 3.0及以上版本默认启用性能计数器,无需额外配置。如果是更早版本,需要通过环境变量DOTNET_ENABLE_PERFORMANCE_COUNTERS=true启用,或者在服务的配置文件中添加对应配置。

  2. 在Perfmon中添加对应计数器

    • 打开perfmon,点击「添加计数器」。
    • 在「性能对象」中选择.NET Core Locks and Threads。
    • 在计数器列表中选择你需要的项(比如Contention Rate / sec、Current Queue Length等)。
    • 在「实例」列表中选择你的服务名称(或对应进程ID的实例),点击「添加」后即可在perfmon中查看数据。
  3. 用dotnet-counters命令行查看

    • 先通过dotnet counters ps获取服务的PID。
    • 执行以下命令监控锁和线程相关的计数器:
      dotnet counters monitor --process-id <你的服务PID> ".NET Core Locks and Threads"
      

注意:如果你的服务以Windows服务身份运行,确保运行账户拥有「性能监视器用户」组权限,否则可能无法正常读取计数器数据。

内容的提问来源于stack exchange,提问作者SaliaMun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 06:53:28