【问题标题】:Get "Large Object Heap Size" metric using .net core running on linux使用在 linux 上运行的 .net 核心获取“大对象堆大小”指标
【发布时间】:2019-12-21 05:27:11
【问题描述】:

如何获得在 linux (Ubuntu 18.04) 上运行 .net core (3.1) 的性能计数器“Large Object Heap Size”?

【问题讨论】:

  • ParisRoubaix 我已经编辑了下面的答案

标签: c# asp.net-core


【解决方案1】:

什么是LOH:

.NET 垃圾收集器 (GC) 将对象分成小块和 大物体。当一个对象很大(>=85,000 字节)时,它是 被认为是一个大对象,比如将它复制到其他地方的内存中 在堆上——可能很昂贵。因此,.NET 垃圾 收集器将大对象放置在大对象堆 (LOH) 上。

可用于 .NET Core 应用的几种方法

  1. 对于 Windows 特定:

    转到性能监视器 > AddCounter > .NET CLR 内存 > 大对象堆大小 > 选择应用程序名称

  2. dotnet 计数器:

    dotnet-counters 是 .NET Core 应用的性能监控工具

    示例用法:

    dotnet tool install --global dotnet-counters

    dotnet-counters monitor --process-id 1902 System.Runtime

    https://github.com/dotnet/diagnostics/blob/master/documentation/dotnet-counters-instructions.md

  3. dotnet 转储:

    dotnet-dump CLI 全局工具是收集和分析的方式 Windows 和 Linux 全部转储,不涉及任何本机调试器 像 Linux 上的 lldb

    $ dotnet tool install -g dotnet-dump

    $ dotnet-dump collect --process-id 1902

    $ dotnet-dump analyze ./core_20190226_135850

    https://github.com/dotnet/diagnostics/blob/master/documentation/dotnet-dump-instructions.md

  4. dotnet 跟踪:

    dotnet-trace 工具是一个跨平台的 CLI 全局工具,可以在不涉及任何本机分析器的情况下收集正在运行的进程的 .NET Core 跟踪

    $ dotnet tool install --global dotnet-trace

    dotnet-trace collect --process-id <PID> --providers Microsoft-Windows-DotNETRuntime

    https://github.com/dotnet/diagnostics/blob/master/documentation/dotnet-trace-instructions.md


如何让性能计数器“Large Object Heap Size”运行 Linux 上的 .net 核心 (3.1)

其他参考:

https://docs.microsoft.com/en-us/dotnet/api/system.runtime.gcsettings.largeobjectheapcompactionmode?view=netframework-4.8#System_Runtime_GCSettings_LargeObjectHeapCompactionMode

【讨论】:

  • 那是一个枚举,有什么要返回 LOH 的大小吗?
  • @ChrisO,有趣的是,在 Windows 中我们可以打开性能监视器 > AddCounter > .NET CLR 内存 > 大对象堆大小
  • 是的,您对dotnet-counters 的编辑似乎回答了这个问题。
  • @ChrisO,我已经用更多信息重写了答案,请查看
猜你喜欢
  • 2011-05-09
  • 2016-11-02
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 2017-12-18
相关资源
最近更新 更多