0

我在一个非常大的 ASP.NET 应用程序中遇到内存泄漏问题。使用大约 24 小时(有时更多)后,会引发 OutOfMemory 异常。因此,我试图了解托管内存在 .NET 中的工作原理。ASP.NET 应用程序何时抛出 OutOfMemory 异常?服务器有很多 RAM,当抛出 OutOfMemory 异常时总是有足够的内存。我了解虚拟内存和物理内存之间的区别。在抛出 OutOfMemory 异常之前,W3WP 进程必须消耗多少内存?Machine.Config 文件中是否有设置?ASP.NET 进程永远不会被回收。

4

2 回答 2

0

除了我上面的评论:检查您的主要资源使用情况,并在使用结束时确保使用 .Dispose() 释放它。

对于内存使用情况,请转到 IIS 管理器,打开树并导航到您的应用程序池。从您的网站使用的池中编辑高级属性并在那里检查/设置设置。

于 2012-06-17T17:00:04.080 回答
0

我使用了 ANTS 内存分析器。这将帮助您找到代码导致大量泄漏的地方。您还可以在 perfmon 工具中创建用户定义的性能监视器。

这对我有用。如果您需要更多帮助,请告诉我

于 2012-06-17T17:29:57.840 回答