提问人:Juano 提问时间:11/16/2023 最后编辑:Juano 更新时间:11/16/2023 访问量:27
IIS 配置问题:“System.OutOfMemoryException”引发了应用程序上的附件管理
Problem with IIS configuration: "System.OutOfMemoryException' was thrown" with attachments management on application
问:
提前感谢您的帮助,以恢复我们面临的问题:我们在服务器中有一个应用程序,其中包含其他应用程序,在以IIS为平台的Windows服务器中管理它们。
在 DEV 中,QAR 和 PRD 具有相同的配置,但在上次部署后,仅在 PRD 中,我们看到一个反复出现的问题,当用户管理附件时:上传、删除或下载它们会产生以下错误:“抛出类型为'System.OutOfMemoryException'的异常。
这得到了暂时修复的回收,在强制回收应用程序的应用程序池后,附件操作再次起作用......一段时间。也配置为一种临时措施,增加了回收的频率,但它并没有多大帮助,而且可能不是问题的根源。 我不确定内存泄漏是否仅与应用程序工作的时间有关,还是由于用户对附件的管理而泄漏。唯一可以肯定的是,在几个小时(有时是几分钟)之后,我们达到了应用程序返回的相同状态,无法使用“System.OutOfMemoryException”。
- 与 DEV 和 QAR 的比较,它们不会重现此错误,永远不会完全相同。
- 唯一的区别是,在 PRD 中有一个 NUMA 配置,而 DEV 和 QAR 中没有。我测试了这个不同功能的所有组合,没有变化和相同的问题。
- 我们增加了服务器的内存RAM,以防万一,但似乎这会影响虚拟内存以及应用程序处理它的方式,但仅限于 PRD,这在以前的版本中甚至在 PRD 中都没有发生过,没有与我们在代码中意识到的这种管理相关的变化。
我们尝试了什么:
- 按照以下说明更改了服务器上的注册表,以查看这是否有助于内存管理: https://learn.microsoft.com/en-us/answers/questions/457194/server-2019-resource-exhaustion-problems,没有改进。
- 在 NUMA 节点配置的所有可能选项中进行了测试,以软或硬方式进行管理,并通过节点的操作系统管理进行管理。没有变化。
- 增加了服务器上的RAM,以防万一,没有变化。
- 增加回收的频率,似乎回收是唯一可以恢复附件功能的东西,以缓解问题,没有改进,只是暂时恢复。
- 我们正在审查应用程序的虚拟内存使用情况,但这以前从未发生过,并且在 DEV 和 QAR 上不可见或可重现,所以仍然认为是服务器配置......
考虑到这一点,我仍然认为可能是IIS中的服务器配置,但不知道哪些参数可能突然涉及,或者可以尝试其他什么,对此的任何帮助或提示将不胜感激。
非常感谢,
答: 暂无答案
评论