首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从w3wp.exe恢复内存

从w3wp.exe恢复内存
EN

Stack Overflow用户
提问于 2010-07-29 21:34:28
回答 2查看 3.2K关注 0票数 2

是否有可能恢复从w3wp.exe丢失的内存?我认为session.abandon()应该像这样清理资源?问题是,我有一个web应用程序,某些页面会使w3wp.exe显著增长。比如从40MB到400MB。现在,我将大胆地优化我的代码以减少这种情况,然而,无论w3wp.exe增长多少,即使用户已经注销并关闭浏览器,也没有办法恢复丢失的内存吗?

我知道这个工作进程将在空闲使用30分钟(默认)后回收,但如果长时间没有空闲使用,并且工作进程仍然拥有这部分内存,它将继续增长?大家有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-29 21:49:40

垃圾收集器将处理任何需要释放的内存,前提是您正确地处理了这些内容,等等。GC不会在您每次调用Session.Abandon()时立即启动,因为这将对性能造成重大影响。

也就是说,每个应用程序都有一个“正常”的内存使用率,即稳定的内存使用率(同样,如果您没有泄漏的话),并且这个数字对于每个应用程序都是不同的。400MB可能很多,也可能什么都不是,这取决于你的应用程序的用途。我有一些应用程序徘徊在400MB左右,其他的在1.5 as左右,只要内存使用量稳定在某处就没问题。如果你看到无限的内存使用,那么很可能是你的应用程序中的某个地方发生了泄漏。

在进程内会话中存储大量数据还会迅速增加内存使用量。相反,请使用文件或数据库来存储此数据。

票数 0
EN

Stack Overflow用户

发布于 2010-07-29 21:51:47

除非您正在泄漏内存,否则内存管理器将重用此内存,因此您应该不会看到进程内存持续增长。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3363003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档