簡體   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