所以就在蝙蝠,不知道这个问题是否更适合另一个StackExchange站点。
我有一个在Windows Server 2008和IIS 7.5上运行的ASP.NET MVC 3 Web应用程序
网站最初运行良好,但我可以看到内存使用逐渐增加。大约12个小时后,它几乎失去了记忆,站点窒息。
我使用了很多缓存,所以我认为这种结合一些可能的内存泄漏是问题的原因。
所以我的问题 – 什么是最好的方式(工具,例如)监控运行ASP.NET MVC的Web服务器的内存使用?
在过去,我使用好的老’perfmon,并把IIS计数器来衡量这些事情。
这仍然是最好的方式,如果是这样,有人可能推荐一个良好的perfmon计数器模板我的方案吗?
解决方法
Perfmon的计数器仍然是一个很好的技术(和免费!)。
PAL(日志的性能分析)是一个免费工具,具有用于一般运行状况(除了基于阈值生成计数器日志文件的报告)的ASP.NET perfmon计数器模板。
查看:
> .NET Debugging Demos Lab 7: Memory Leak
> .NET Memory Leak Case Study: The Event Handlers That Made The Memory Baloon
> Tracking down managed memory leaks (how to find a GC leak)
> Determine if your .NET Application has a Memory Leak
商业工具如MemProfiler,RedGate的memory profiling tool和JetBrains Profiler都非常好(并且都有免费试用)。