gpt4 book ai didi

c# - java 的 -verbose :gc command line option 的 .NET 等价物是什么

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:15:22 24 4
gpt4 key购买 nike

我正在编写一个 ASP.NET MVC 应用程序,并且我从我的一个操作中看到了看似随机的性能。我最初的想法是,垃圾收集正在启动并暂停应用程序一段时间,但我似乎找不到可以证明或反驳我的理论的按钮/开关。

对于没有 java 的人来说 -verbose:gc 是一个命令行开关,您可以将其传递给 java 应用程序,它将在 GC 事件发生时打印出 JVM 以及需要多长时间.

我尝试过使用 vs2010 性能工具和 JetBrains dotTrace,这两者有点像使用热核武器来敲开一个小坚果。

最佳答案

在 .NET 4.0 中,Windows 事件跟踪 (ETW) 可为您提供所需的信息。这是一个特定于 GC 的.

仅供引用 ETW 非常快并且内置于内核中。使用 ETW,您应该能够获得这样的信息 alt text

alt text

为了获取此信息,BCL 团队提供了一个名为 PerfMonitor 的工具

下面是使用工具获取GC信息的步骤

  1. 以管理员身份启动 cmd 或 powershell,这个需要收集ETW追踪
  2. 启动你想要的应用程序追踪
  3. 发出命令“PerfMonitor.exe/process:4180 start” 其中 4180 是进程号
  4. 执行必要的操作
  5. 然后发出“PerfMonitor.exe 停止”
  6. 获取报告的命令“PerfMonitor.exe GCTime”。这会生成报告并在浏览器

我也有blogged差不多的

HTH

关于c# - java 的 -verbose :gc command line option 的 .NET 等价物是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3934074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com