我有一个ASP.NET应用程序,它与另一个API进行通信,并在Page_Load上进行大量处理。
如果在我的浏览器中我按住F5并点击该网站,则服务器从120mb扫描到1.5GB。
我找不到任何内存泄漏或未封闭的对象。有什么办法或额外的事情我可以帮忙吗?
感谢您的时间!
答案 0 :(得分:1)
使用ANTS Profiler或dotTrace等分析器。
有许多事情可能导致这种行为 - 尝试用任意建议解决问题可能不会让我们到处都是。
一旦探查器确定了问题区域,如果您无法解决该问题,可以在新问题中发布该代码。
对于它的价值,1.5 GB不是巨大的。如果按住按钮,它最终会给出OutOfMemoryException
吗?
答案 1 :(得分:1)
我建议从Red Gate查看ANTS Memory Profiler和/或ANTS Performance Profiler。他们非常实惠,他们在识别瓶颈方面做得很好。
ANTS Memory Profiler:
http://www.red-gate.com/products/dotnet-development/ants-memory-profiler/
ANTS Performance Profiler:
http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/
答案 2 :(得分:0)
+1 to“profile and out out problems” - 如果你想解决问题,必须知道发生了什么。
但从短期来看,它可能更便宜,更容易转移到体面的64位盒/ 64位版本的Windows并使用64位ASP.Net - 您将获得更多可用于IIS进程的内存。