gpt4 book ai didi

c# - Runtime.Caching.MemoryCache 在将许多项目添加到缓存时抛出 OutOfMemoryException

转载 作者:行者123 更新时间:2023-11-30 16:05:58 27 4
gpt4 key购买 nike

对于一些繁重的计算,我想将临时结果放入 MemoryCache 并在需要时再次加载它。但是当我将 200 万个对象放入缓存时,它会抛出 OutOfMemoryException。

我在 Windows 7 64 位 8GB 内存上运行程序。

当我查看任务管理器时,我发现我的应用程序只占用 1.5 GB 内存,然后崩溃了。此代码与我在程序中所做的类似

NameValueCollection config = new NameValueCollection
{
{"cacheMemoryLimitMegabytes", "4000"},
{"physicalMemoryLimitPercentage", "100"}
};
MemoryCache cache = new MemoryCache("MyCache", config);
CacheItemPolicy policy = new CacheItemPolicy { AbsoluteExpiration = ObjectCache.InfiniteAbsoluteExpiration };
for (int i = 0; i < 4000000; i++)
{
var resultOfTempOperation = DoOperation();
CacheItem newEmployee = new CacheItem(Guid.NewGuid().ToString(), new SomeClass());
cache.Add(newEmployee, policy);
}

我的代码有什么问题?

最佳答案

在visual studio中转到

解决方案>属性>配置属性>平台

如果您需要使用如此多的内存,请确保您正在为 x64 进行编译。 (您正在达到 32 位限制)

关于c# - Runtime.Caching.MemoryCache 在将许多项目添加到缓存时抛出 OutOfMemoryException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32864993/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com