我们有一个基于.Net的网站,运行在Windows Server 2008 R2标准版上的IIS 7.0中。此外,我有一台独立的服务器上安装了SQL Server。
两台IBM x3650服务器都拥有32GB的内存。有时候,IIS上的w3wp.exe服务会占用20GB的内存。我该怎么办?
谢谢。
我们有一个基于.Net的网站,运行在Windows Server 2008 R2标准版上的IIS 7.0中。此外,我有一台独立的服务器上安装了SQL Server。
两台IBM x3650服务器都拥有32GB的内存。有时候,IIS上的w3wp.exe服务会占用20GB的内存。我该怎么办?
谢谢。
再说一遍,找到内存泄漏问题真的很困难。首先,在每个请求上进行一些记录 -> 并记录使用的内存量。然后找出所有的任务 -> 和可能生成泄漏的代码部分(只要它们不在每个请求期间执行),还要记录它们的开始和结束。
这样做后,您可以检查日志并搜索其中内存使用显着增加的部分,然后可能可以确定哪部分代码正在生成泄漏。
另一件事是您可以搜索“内存泄漏 WHAT YOU USE”,其中WHAT YOU USE是您使用的某些机制,无论它们是什么。
另外,有一些应该做的事情可以避免内存泄漏,我想到的第一个是探索using()
语句。
哦,别指望你会在接下来的20分钟内找到问题。这需要几天时间(尝试通过日志调试)。