gpt4 book ai didi

c# - 为什么 GC.GetTotalMemory() 和 CLR Profiler 数字之间存在巨大差异?

转载 作者:太空狗 更新时间:2023-10-29 23:48:06 33 4
gpt4 key购买 nike

我有一个对象,我需要为 IIS 中的 Web 应用程序缓存其中的多个对象,因此我正在分析每个实例使用的内存量。

我写了一个小的 exe 并在构造前后调用了 GC.GetTotalMemory(true) ,差异大约是 335k 但如果在 CLR 中分析它profiler 它显示 22 MB 内存用于没有意义的对象。

我在 CLR 探查器中错误地解释了什么?
我应该在哪里检查探查器以查看各个对象的大小?

最佳答案

根据 MSDN:垃圾收集器不保证收集所有不可访问的内存。

look here

CLR 分析器显示所有分配的内存;

如果你使用 GC.GetTotalMemory(false),结果会是什么?

关于c# - 为什么 GC.GetTotalMemory() 和 CLR Profiler 数字之间存在巨大差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6320419/

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