如何最大限度地减lessWindows内存使用量

我在C#中编写了一个Hello World程序(没有任何UI的Windows应用程序)。 release-build excutable除了Thread.Sleep(50000)// 50秒之外什么都不做。 我打开sysinternals(一个像任务pipe理器的分析器)。 这个可以改变的7MB内存(专用字节)! 任何人都可以解释发生了什么,以及如何使内存使用更小。 PS我也尝试使用NGEN预编译.exe,但仍得到相同的内存使用情况。

非常感谢

C#(以及其他JIT编译/解释语言)通常会在后台自动为您做很多事情。 虽然你写的很简单,但是后台有很多东西可以支持应用程序的JIT特性。

现在7MB的内存相对较小,因为现在2GB的内存是相当普遍的。 而且除非你做了一些不寻常的事情或者分配大量的数组和数据结构,否则它可能不会更多。

如果它是基于C#WindowsApplication项目类型的Hello World,并且Program.cs中有一个int main在Windows窗体上执行application.run,那么不仅会有很多的JIT开销,而且还有很多Windows窗体开销也是。

一天结束,我确定一切都是华丽的。

.Net应用程序有很多基本的开销,但是在这之后你的内存增加应该是相对较小的。

例。 我的一个应用程序在加载时消耗了10MB的内存,但从数据库加载60k行之后,它只消耗40MB的内存,每行包含多个字符串和许多值。

在现代计算机上,一个小的固定的前期价值并不坏。 可扩展性是现在的主要问题。 .Net可以很好地管理。