一年了,没解决、没结贴,厉害,有耐心,不过真的很有助于大家的学习
设置应用程序池,到达一定程度自动回收资源
[quote=引用 37 楼 u010756881 的回复:] 我解决了, 就用前面的思路,找到导致非页面内存增长德程序, 如不需要删除,就可以l
我有一篇文章,在我空间李。 要的联系 2012年8月24日12:46:12 花了好多时间,确定原因在于服务器上面的金山毒霸版本为 2012-SP5 存在非分页内存泄露问题,找了好长时间,终于找到了原因, 但是,另外一台服务器上的SP3 金山毒霸,没有出现这样的情况。看来和这一次的金山版本有关系 首先必须了解分页内存和非分页内存是什么: 首先如何查看这个内存情况 在window 任务管理器中 右下角有一个核心内存: 分页和未分页 分页内存是虚拟内存 ,也就是这一部分内存可以置换到硬盘中,但是,非分页内存是不能置换到硬盘,只能保存在 物理内存中,常用于一些软件或是系统的驱动程序使用。 如果 未分页内存无限增大,到达一个阀值,就会造成系统问题 常见的就是,服务器是 window 2003 +IIS6.0 过几天就需要重启服务器,不然IIS连接不上,但是远程可以连接上, 在c:\windows\system32\logfiled中 查看 httperr 会发现大量的 connections refused 信息。 是因为 用于 https.sys处理的数据的非分页内存不足(低于20MB)造成 停止接受新的连接,从而导致IIS “假死” 。。。 这样的数据从网络上搜都是很多的, 目前大家都是通过修改注册表的方式。。。 http://hi.baidu.com/trickster/item/57c39a7773fc86235c1789bb 上面是一个修改过程网址… 但是,这个修改并没有完全修复我们服务器的这个问题, 但是,网络上,很多都是相互转载的不管看没看,验证没验证,以后有没有发生都没有了下文.. 于是有上网搜了搜,可能是以为某一个驱动文件的非分页内存泄露。 什么是内存泄露? 分配了内存而没有释放,逐渐耗尽内存资源,导致系统崩溃。 内存泄露是指程序中间动态分配了内存,但是在程序结束时没有释放这部分内存,从而造成那一部分内存不可用的情况,重起计算机可以解决,但是也有可能再次发生内存泄露,内存泄露和硬件没有关系,它是由软件引起的。 此时,IIS 如果非分页内存不足,就是重启IIS 也是不起作用的,只能重启服务器,让其中的内存清空掉。这样才可以,但是这个也不是一个长久的解决方法。 下面是 360杀毒,瑞星,金山 的未分页内存泄露的文章 360 http://www.cnblogs.com/ahuo/archive/2010/09/29/1838439.html 瑞星 http://bbs.ikaka.com/showtopic-9180074.aspx http://bbs.360.cn/4271460/47062780.html 金山 http://bbs.duba.net/thread-22619074-1-1.html http://bbs.duba.net/thread-22755377-1-1.html 额,当你看了,这里之后,你就发现确实是这样的, 如果使用 poolmon.exe 进行内存测试, Window 20003 默认打开了 由于永久 Windows Server2003 中启用池标记,了在 全局标志 对话框中的 启用池标记 复选框呈灰色显示,并且要启用或禁用池标记的命令都将失败。 MB 帮助文件http://support.microsoft.com/kb/177415/zh-cn 关于下载 Gflags.exe 到这里下载 安装 http://msdn.microsoft.com/en-US/windows/hardware/hh852363 安装完成后,会在开始-à出现 打开里面有 这个软件 关于poolmon.exe下载 也是找了好久才找到的。 http://www.filediag.com/down/Poolmon.exe_68280.html 在左上角 下载之后,把 poolmon.exe 可以放到c盘根目录 然后, 打开cmd 先到C盘,然后运行poolmon.exe 上面的图示打开的样子。 但是,上面的 type 列下面显示的是 Nonp和Paged Nonp就是 未分页内存了 Paged 就是分页内存了 我们只关注 nonp 所以,按P键进行切换 可以进行下面3个样式的切换 只显示 分页内存 ,只显示 未分页内存, 显示分页内存和未分页内存 选了未分页内存之后,然后按 B 进行按照Bypes 列,这一列很重要。说明,占用的未分页的大小。 B 进行排序 然后, 看到有一个进程,很快的增加占用 QQ截图20120824075033.jpg2012 08 24 00 20 50 -1.png20120824064000 2个小时后,NKBS进程.jpg 看到 NKBS 慢慢增大内存占用 然后运行 运行 findstr 进行查找 NKBS 这个关键字 ,在system32\drives 中 查到两个 系统文件里面含有这个关键字 NKBS 百度得知,这个两个都是金山毒霸……….. 所以,问题基本排除得知 是 金山毒霸导致的这样的后果.. 但是,另外一台电脑上的SP3为什么就没有这样的情况那? 如果大家有这样问题或是给你发poolmon.exe程序 请联系 776455616 Violent.22@163.com 2012年8月24日13:20:50
当时查看日志,表示是什么非页面缓冲池 非静态缓存什么的。。。。 但是,即使按照 修改了iis配置,修改了些配置文件,还是没怎么好 这个问题搞死人了,后来搬到64位系统,就没怎么发生了。 ------------------- btw,现在,还是会经常遇到一个编译报错的问题(asp.net2.0) 换个应用程序池就好了。。 ------------- 貌似一个问题,一个假死,一个报错。。。 解决方法也相似,重启服务器和换程序池都是重新分配这个网站的“缓存” 总之,就是网站有漏洞了 大家可以在网站挂掉时,新建一个同样的网站,设置下新程序池看看。
8,327
社区成员
16,639
社区内容
加载中
试试用AI创作助手写篇文章吧