我一直在尝试比较VB6应用程序和.Net应用程序之间的内存占用情况。试图确定两者之间的平均差别。
.Net代码在很大程度上是VB6的直接翻译,而且大部分代码的指令与用C#编写的指令相同。因此,虽然这是苹果与橘子的比较,但它是对功能(如果不是逻辑上的)等价的程序的比较。
我一直在使用过程资源管理器来帮助我确定应用程序的内存使用情况,但是有几个方面让我感到困惑:
到目前为止,我已经收集到WS包括WS私有和WS共享。因此,使用WS总计只能是一种欺骗措施。我还从诸如.Net exe内存占用空间之类的问题中了解到,.Net工作集通常比它应该的大。在内存匮乏的环境中实例化进程,比如128 MB的VM会将工作集的大小降到最小吗?
任何帮助或洞察力都将不胜感激。
发布于 2008-10-31 15:35:51
马克·鲁西诺维奇在这上面有一个好文章。
您可以使用Win32 API调用SetProcessWorkingSetSize(GetCurrentProcess()、-1、-1)手动减少应用程序的工作集。当系统内存不足时,这就是Windows将做的事情,但如果自己控制这种情况,您就可以将.NET应用程序的工作设置剥离到最小大小,以便进行调查。
https://stackoverflow.com/questions/253914
复制相似问题