【发布时间】:2010-02-23 07:43:06
【问题描述】:
我使用以下 sos 命令枚举了正在运行的 ASP 应用程序(托管在 windows xp 4 GB 机器上)中特定类型的所有实例。
.foreach (obj { !dumpheap -type ::my type:: -short ::start of address space:: ::end of address space:: }) { !objsize ${obj} }.
这会枚举 gc gen2 中给定类型的所有对象。
平均对象大小约为 500 KB,大约有 2000 个对象。仅此一项就增加了大约 1 GB 的内存,而我在任务管理器中的 asp 进程内存仅显示大约 700 MB。还有一点是我没有考虑我正在使用的其他加载对象。
此外,以上所有对象都是不会被垃圾回收的根对象。不确定此命令是否错误,或者对于 sos 返回的大小不匹配以及任务管理器中显示的内容是否有任何其他解释?
提前致谢,
巴拉特·K。
【问题讨论】:
-
您在任务管理器中查看的是什么计数器?
-
顺便说一句
!dh显示指定图像的标题。我猜你的意思是!dumpheap。 -
是的。它是!dumpheap。我在任务管理器中查看了内存使用情况和峰值内存使用情况。