什么会导致iisexpress私有字节继续增加而没有任何托管堆的重大变化?
-
26-10-2019 - |
题
我有一个ASP.NET MVC 3应用程序,该应用程序使用Windsor注入存储库和NHIBERNATE会议。今天,我第一次打了 OutOfMemoryException
. 。起初我认为可能是因为我没有发布任何 Transient
温莎正在创建的对象。作为一个快速实验,我把所有这些都变成了 PerWebRequest
生活方式,但似乎并没有大大影响记忆使用模式 - 它仍然在不断上升。
- 我不做任何缓存
- 我不使用任何不受管理的资源
- 我 是 做几个匿名对象的JSON序列化
- 我用于压力测试的动作只是返回一个小的JSON对象(32个字节),因此任何地方都不涉及大型对象
当我的托管堆尺寸稳定时(用perfmon验证)时,什么可能导致iisexpress私有字节继续上升?
调试此问题的正确工具是什么?我假设CLR剖面人员可能没有帮助,因为PerfMon不会显示托管堆的任何泄漏。
解决方案
我禁用后,内存使用率似乎是稳定的 一瞥.
我不知道泄漏不受管理的内存可能会做什么,而只是设置 on="false"
在Web.config中的“瞥见配置”部分中,立即使内存使用量稳定。
不隶属于 StackOverflow