繁体   English   中英

c#为虚拟机分配内存

[英]c# allocating memory to the virtual machine

C#是否具有相当于java的-Xmx1024m开关,允许您增加对虚拟机的内存分配?

在这方面,CLR处理内存分配与java非常不同。 它将继续增加堆大小,没有上限(除了体系结构限制)。

在64位操作系统上,当针对x64时,CLR将继续允许进程分配内存,直至系统中可用的总内存。 人工过程没有固定的上限。

在32位系统上,或者在针对x86时,实际上限往往在1.2到1.6 GB之间。 此时,您将开始遇到内存不足异常。 (理论上,它应该使用2GB,但CLR本身会占用一些空间,而它处理内存寻址的方式会导致内存不足错误发生在此范围内。)


编辑:这是一篇很好的文章,描述了在JVM和CLR中处理内存的方式差异 我认为JVM需要使用-Xmx主要原因是它不会将内存释放回操作系统。 因此,它提供了一种限制程序内存消耗的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM