本文介绍了最大.NET实现的内存?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是一个内存可以在.NET中实现管理code的最高金额?它依赖于实际结构(32/64比特)?

Which is the maximum amount of memory one can achieve in .NET managed code? Does it depend on the actual architecture (32/64 bits)?

推荐答案

有没有硬盘,为.NET code确切的数字。

There are no hard, exact figure for .NET code.

如果您运行在32位的Windows;您的处理的可寻址高达2 GB,如果3 GB / 3GB开关用于Windows Server 2003上。

If you run on 32 bit Windows; your process can address up to 2 GB, 3 GB if the /3GB switch is used on Windows Server 2003.

如果您在64位机器上运行64位进程您的过程的最多可寻址的地址空间8 TB,如果那么多内存是present。

If you run a 64 bit process on a 64 bit box your process can address up to 8 TB of address space, if that much RAM is present.

这是不是故事的全部,但是由于CLR需要一定的开销,为每个进程。与此同时,.NET将尝试在组块分配新的内存;如果地址空间碎片,这可能意味着你不能分配更多的内存,即使有些是可用的。

This is not the whole story however, since the CLR takes some overhead for each process. At the same time, .NET will try to allocate new memory in chunks; and if the address space is fragmented, that might mean that you cannot allocate more memory, even though some are available.

这篇关于最大.NET实现的内存?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-30 15:05