【问题标题】:Configure .NET CLR RAM usage配置 .NET CLR RAM 使用情况
【发布时间】:2009-07-02 17:00:26
【问题描述】:

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

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

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

【问题讨论】:

  • 这对于 serverfault 来说可能是一个更好的问题

标签: .net clr ram


【解决方案1】:

看看里面的machine.config文件

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

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

【讨论】:

  • memoryLimit 属性到底去哪儿了?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2013-03-31
    • 1970-01-01
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多