想象你有一个应用程序(单进程)用C#
默认情况下,应用程序分配巨大的虚拟内存,远远超过它需要(例如常驻内存为10MB左右,而虚拟内存是约几个GB)。
在Java中有可能使用的选项将限制这个java -mx128m
我该怎么办了.NET /单声道应用程序一样吗? 而奖金的问题:是否有可能强制执行/改变GC的选项始终保持为低内存占用尽可能(尽快收集,而不是当系统运行时内存不足)
基本上我的目标是创建具有最小的内存占用.NET应用程序
编辑:为了更清楚我插入这种情况下,因为几乎所有的.NET应用程序似乎有类似的问题:
我运行一个MonoDevelop的,这是下单C#应用程序-它吃1800 MB的虚拟内存,而它仅使用291 MB的驻留内存。 这意味着应用程序仅使用内存大于300MB少,但它要求1800MB由于未知原因。 这个原因是我想发现以及怎样的方式来阻止它这样做的。
这可能是不适合大多数用户的问题,但是当任务由虚拟内存的限制,可能对像上海黄金交易所集群上运行的应用问题。