2

有没有一种方法可以在我的机器上配置 .NET CLR RAM 使用情况?

假设我有 64GB 的 RAM,我想将其限制为 4GB?这可能吗?

编辑- 问题的根源是我有一个 64 位应用程序,它在 64 位 - 4GB 机器上运行良好,但是在 64 位 - 64GB 机器上运行时它失败(分配内存时停止在它的轨道上)。我认为内存碎片是原因,因为如果有足够的 RAM 可用,应用程序会尝试分配多达 8GB 的​​块,否则会将分配分解为更小的块。所以我必须将应用程序配置为始终使用小块?

4

2 回答 2

2

看看 machine.config 文件

%SystemRoot%\Microsoft.NET\Framework[版本]\CONFIG

memoryLimit 属性控制允许进程消耗的物理内存的百分比。我知道这不是您正在寻找的,而是我能找到的最接近的。

于 2009-07-02T17:09:05.610 回答
0

您可能想考虑使用PublicDomain。它是一个库,它公开了许多较低级别的功能,例如产生具有内存限制的进程。实际上有一篇 CodeProject 文章描述了如何使用 PublicDomain 做到这一点:

http://www.codeproject.com/KB/threads/Setting_Max_Memory_Limit.aspx

于 2009-07-02T17:06:07.720 回答