我有一个在我的IIS服务器上重启的w3wp.exe(请参阅下面的规范)。记忆逐渐上升到~3G然后每1-2分钟随机重启一次。
内存使用情况
奇怪的是,一旦这个内存丢失(看起来像重启 - 顺便说一句......应用程序池没有被回收/重新启动),GET请求就会排队,但是一旦服务变暖/启动就会被服务(导致对我们客户的回复延迟 - 他们最初报告延迟的响应时间)。
一旦.exe重新启动(私有字节转到~0),我已经按照此链接获取堆栈转储,但是一旦服务重新启动,就没有任何记录(没有.dmp文件)和diag调试。
我在网络服务器(IIS)日志中看到了大量的警告,但就是这样:
为应用程序池'MyApplication'提供服务的流程遭遇致命 Windows进程激活服务的通信错误。该 进程ID是'1732'。数据字段包含错误编号。
ASK:我不确定这是否是内存限制,如果缓存不能很好地与我的线程/任务一起运行,如果缓存正在爆炸,如果有监视程序服务重新启动我的应用程序等等。有没有人遇到类似w3wp.exe重启的东西?这很难分辨,因为diagdebug一旦重新启动就不会给我转储。
SPECS:
答案 0 :(得分:1)
您的第一步是在测试环境中重现问题。设置某种负载生成应用程序(你可以很容易地自己编写)并发生同样的问题。然后在web.config中关闭debug并查看是否可以解决问题。然后将其更改为发布版本并再次测试。
我从未使用过memorycache - 尝试减少缓存逐出时间或者只是将其关闭,看看是否能解决问题。祝你好运:)