微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net – 具有w3wp应用程序池IIS 7的高内存使用率

我有一个网站应用程序运行在它自己的IIS 7.0上的应用程序池。该应用程序是一个ASP.NET MVC 3网站。

我注意到这个应用程序的内存使用相应的w3wp IIS工作服务相当高(800 MB,有一些波动)。

我正在尝试诊断问题,并尝试过以下操作:

我在IIS级别禁用了网站的输出页面缓存,然后再次使用应用程序池。这将导致w3wp进程重新启动。这个进程的内存使用量慢慢地爬升到大约800 MB,大概需要30秒左右的时间。目前没有处理任何页面请求。当我从IIS重新启动网站时,进程的内存大小不会改变。

我已经尝试从VS 2010运行应用程序的调试副本,内存使用没有问题。

我有一些想法/问题是:

这个问题是否与网站代码相关? – 考虑到任何页面请求之前的内存火箭已经发送/处理,我认为这不是一个代码问题?

MVC中内置的应用程序没有处理缓存中写入的内容

该网站使用实时显示数据,它定期使用ajax请求,并且通常长时间“打开”。

为什么在应用程序被回收之后内存使用量将会上升,并且不会发送用户请求?这是因为它将旧的缓存信息加载到磁盘的内存中吗?

应用程序不会崩溃,我只是关心内存使用,这不是一个大的网站…

任何想法/帮助与这个问题的底部将不胜感激。

解决方法

我只是看我的服务器和我的池使用900-1000MB虚拟大小的内存和380MB工作集。我的网站运行顺利,出了问题多年了,我已经从各方面检查了。我的池永远不会回收,服务器运行,直到下一次更新继续40%稳定的免费物理内存。

如果你的内存没有持续增长,那么这个内存就是你的应用程序中的代码加上你设置为静态,常量,字符串和可能的缓存的数据。

您可以使用process explorer查看工作和虚拟大小内存。

您还可以考虑根据您的代码运行配置文件,以查看是否有任何“内存泄漏”或其他问题。从google找到一个https://www.google.com/search?hl=en&q=asp.net+memory+profiler

原文地址:https://www.jb51.cc/aspnet/253302.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐