在64位应用程序池中短时间后会话被杀死

时间:2015-08-11 20:21:05

标签: asp.net .net session iis memory

我们在IIS 7.5上托管了一个.net Web应用程序。 此应用程序早期在32位应用程序池上运行,但前段时间我们已切换到64位应用程序池。

最近,用户开始抱怨说,在他们的会话被扼杀1-2分钟后,我们今天已经确认他们被杀了。

在web.config文件中,会话超时设置为60分钟。 另外我们在任务管理器中注意到这个应用程序的w3wp进程消耗大约2-2,4GB的内存,所以可能问题是应用程序池试图回收一些内存?

回收设定为限时21:00和4:00

会话出现问题的原因是什么?

修改

我检查了一些计数器并完成了基本的内存转储分析,但我没有看到任何问题。

Permfon data

在转储eeheap分析中,我看到每个堆只有2代对象大约10-30MB,我有24个

堆0(0000000003083a90)生成0开始于0x00000000fff568b8生成1开始于0x00000000ffa6acf0生成2开始于0x00000000ff471000临时段分配上下文:无段开始分配大小00000000ff470000 00000000ff471000 00000000ffff8de0 0xb87de0(12090848)大对象堆开始于0x00000006ff471000段开始分配大小00000006ff470000 00000006ff471000 00000006ff7495c8 0x2d85c8(2983368) 堆大小:大小:0xe603a8(15074216)字节。

堆1(00000000030889c0)生成0开始于0x000000013fc36ed8生成1开始于0x000000013f949348生成2开始于0x000000013f471000短暂段分配上下文:无段开始分配大小000000013f470000 000000013f471000 000000014035e7b8 0xeed7b8(15652792)大对象堆从0x0000000703471000段开始分配大小0000000703470000 0000000703471000 00000007035c5d58 0x154d58(1396056)堆大小:大小:0x1042510(17048848)字节。

编辑:2015-08-19 09:00 这些是2015-08-19 09:00的柜台。

让我担心的是,为什么当所有堆中的字节数仅显示大约100MB时,任务管理器中的内存显示为2,5GB,为什么私有字节(216MB)大于所有堆中的字节数? 当前时刻的负载大约是该服务器上的40个用户。

PERFMON AT 2015-08-19 09:00

编辑2015-08-19 14:09

一段时间后,我发现装配可能存在问题。 当我在.NET 4.5上没有!dda命令时,如何使用windbg进行检查?

PERFMON ASSEMBLIES

0 个答案:

没有答案