题
我试图以编程方式限制在 .Net AppDomain 中运行的插件的内存消耗,但我找不到任何设置参数,也找不到查询 AppDomain 以确定它消耗了多少内存的方法。有任何想法吗?
解决方案
这是查询进程内存使用情况的文档。与 AppDomain 不同,但它可能是一个起点。
http://msdn.microsoft.com/en-us/library/s80a75e5(VS.80).aspx
您也可以询问 GC 它认为当前分配了什么。
http://msdn.microsoft.com/en-us/library/system.gc.gettotalmemory(VS.71).aspx
其他提示
老问题,但与此同时(自 .Net Framework 4.0 起)有一个新的解决方案可用。您必须启用 ARM(应用程序域资源监控)。从那时起,您可以请求有关总消耗处理器时间、内存使用情况等的信息。
不确定编程,但是 流程浏览器 可以告诉您 .net AppDomain 使用了多少内存。也许他们有一些关于如何查询该信息的文档。
使用 C:\WINDOWS\Microsoft.NET\Framework\vXXXXXX\mscoree.tlb 中的 mscoree.CorRuntimeHostClass 互操作
不隶属于 StackOverflow