首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

关于GC.GetTotalMemory解决思路

2012-05-09 
关于GC.GetTotalMemory我用GC.GetTotalMemory(false)得到程序垃圾回收前的内存占用为3M左右,可是运行程序(

关于GC.GetTotalMemory
我用GC.GetTotalMemory(false) 得到程序垃圾回收前的内存占用为3M左右,可是运行程序(不是在VS下调试)后在WINDOWS任务管理器下显示的内存占用为40多M,怎么回事呢?

怎么才能编程得到任务管理器中显示的内存占用量?

[解决办法]
是不会一样,那个方法只是得到托管堆的内存大小,而不是整个程序的内存,要得到整个程序的内存,你只能使用API来获取,有个API函数叫GetProcessMemoryInfo,具体使用方法请查看API手册。
[解决办法]
Process.GetCurrentProcess ().PrivateMemorySize
[解决办法]

探讨

谢谢楼上几位高手。

我想问一下,为什么整个程序的内存会比托管堆内存多出那么多呢?(我的小程序多出来30多兆)
换句话说,程序运行时除了调用托管堆还有什么地方消耗内存?

热点排行