gpt4 book ai didi

performance - Perfmon计数器检查内存泄漏

转载 作者:行者123 更新时间:2023-12-03 11:52:18 26 4
gpt4 key购买 nike

我想检查服务中的内存泄漏问题。我试过下面的perfmon计数器集。

整个堆中的

  • .NET CLR内存\#字节
  • .NET CLR内存\第二代堆大小
  • .NET CLR内存\#GC处理
  • .NET CLR内存\固定对象数
  • .NET CLR内存\#已提交的总字节数
  • .NET CLR内存\#保留的总字节数
  • .NET CLR内存\大对象堆大小

  • 我从 here引用了上面的设置

    也指以下设置:
  • 内存/可用字节
  • 内存/已提交字节
  • 处理/专用字节
  • 进程/页面文件字节
  • 处理/处理计数

  • 我从 here引用了上面的设置

    是否有任何参数/标准或其他最佳方法来识别用于内存泄漏的性能计数器?
    谁能建议我一组计数器来检查内存泄漏?还是以上覆盖内存泄漏?

    最佳答案

    要使用性能监视器检测内存泄漏,请监视以下计数器:

  • 内存/可用字节数计数器使您可以查看可用内存的字节总数。该值通常会波动,但是如果
    您有内存泄漏的应用程序,它将减少
    时间。
  • 如果发生内存泄漏,则“Memory / Committed Bytes”计数器将稳步上升,因为随着
    内存减少,提交的字节数增加。
  • “进程/专用字节数”计数器显示专门为特定进程保留的字节数。如果是内存泄漏
    发生时,该值将趋于稳定上升。
  • 进程/页面文件字节数计数器显示页面文件的大小。 Windows使用虚拟内存(页面文件)来补充
    机器的物理内存。随着机器的物理内存开始
    填满后,内存页面将移至页面文件。这是正常的
    即使在具有大量内存的计算机上也要使用的页面文件。但
    如果页面文件的大小稳定增长,则表明
    发生内存泄漏。
  • 我也想提到“处理/处理计数”计数器。应用程序使用句柄来标识他们必须使用的资源
    访问。如果发生内存泄漏,应用程序通常会
    创建其他句柄以标识内存资源。所以上升
    句柄计数可能表示内存泄漏。但是,并非全部
    内存泄漏将导致句柄数增加。

  • Source

    以我的经验,这是正确的。

    我还请您引用Microsoft员工Tess的这个Microsoft Advanced Debugging博客。谁建议以下计数器。我发现以上内容足以表明存在内存泄漏,但是我相信Tess的说明可以提供对该问题的更深入了解。

    Debugging Demos - Memory Review
  • .NET CLR内存/所有堆中的#个字节
  • .NET CLR内存/大对象堆大小
  • .NET CLR内存/第二代堆大小
  • .NET CLR内存/第1代堆大小
  • .NET CLR内存/第0代堆大小
  • 处理/专用字节
  • 进程/虚拟字节
  • 关于performance - Perfmon计数器检查内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13473761/

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