C# System.Web.Caching.Cache因内存不足而过期?

C# System.Web.Caching.Cache因内存不足而过期?,c#,asp.net,.net,iis,caching,C#,Asp.net,.net,Iis,Caching,我一直在排除与IIS服务器上的缓存有关的问题。从IIS工作缓存中随机删除的项数据。被删除的项具有键值,该键值由用户的唯一ID组成,以确保缓存键是唯一的 运行在.NET 4.7.2上的应用程序通过System.Web.Caching.cache中的方法使用了大量缓存插入 根据MicrosoftDoc,除非应用程序池重新启动或内存不足,否则此方法签名插入缓存时不会过期 我查看了操作系统事件查看器日志,没有发现任何表明我的应用程序池回收的信息,因为它达到了专用字节内存限制 我们计划每天在工作日凌晨4点

我一直在排除与IIS服务器上的缓存有关的问题。从IIS工作缓存中随机删除的项数据。被删除的项具有键值,该键值由用户的唯一ID组成,以确保缓存键是唯一的

运行在.NET 4.7.2上的应用程序通过System.Web.Caching.cache中的方法使用了大量缓存插入

根据MicrosoftDoc,除非应用程序池重新启动或内存不足,否则此方法签名插入缓存时不会过期

我查看了操作系统事件查看器日志,没有发现任何表明我的应用程序池回收的信息,因为它达到了专用字节内存限制

我们计划每天在工作日凌晨4点回收我们的应用程序池;您可以从下面的内存图中看到,然而,我们的项目从缓存中丢失的问题大部分发生在白天

我下一步要解决的问题是向服务器添加更多内存,我想知道IIS w3wp.exe是否在服务器上仍然有一些可用内存的情况下仍然存在内存不足问题


您是否可以看到任何可能影响缓存项寿命的内容?

首先检查logeventonrecyle设置,查看是否正在记录应用程序池的回收。见:

这可能是因为计算机上的其他进程正在使用内存,而您由于“或内存不足”而丢失了项目


要测试这一点,您可以进行负载测试,同时启动服务器上使用内存的其他进程

“w3svc.exe”?你确定吗?@LexLi my bad,我编辑了这个问题,我是说w3wp.exece,你能通过将优先级设置为not removable来修复它吗?由于它不确定服务器考虑低内存的逻辑,所以我们可能需要找到一种解决方法。