请原谅,这更像是 stackoverflow 与 serverfault 之间的对比。它似乎处于边界上。
我们有一个应用程序,它使用 ASP.NET 缓存为电子商务应用程序缓存大量产品数据。这是一个包含 65K 个元素的字典对象,我们的计算结果显示该对象的大小约为 10GB。
问题:
该对象消耗的内存量似乎远远超过了我们计算的10GB。
最大的担忧: 我们似乎无法使用服务器中 32GB 的 60% 以上。
到目前为止我们已经尝试过:
在 machine.config/system.web 中(sf 不允许标签,请原谅格式):
processModel autoConfig="true" memoryLimit="80"
在 web.config/system.web/caching/cache 中(sf 不允许标签,请原谅格式):
privateBytesLimit = "20000000000" (and 0, the default of course)
percentagePhysicalMemoryUsedLimit = "90"
环境: Windows 2008R2 x64 32GB RAM IIS7
似乎没有什么可以让我们超过 60% 的值。