高分求助:IIS过几天就会挂掉,重启IIS无用,重启服务器才能恢复正常

李睿_Lee 2013-02-01 09:56:58
IIS过几天就会挂掉,重启IIS无用,重启服务器才能恢复正常。
看了事件管理器,日志信息里没找到相应的错误信息。
有遇到这情况的么?怎么解决?
环境:Windows Server 2003+IIS+PHP5+MySQL
还有其它信息需要我再提供。
...全文
9103 90 打赏 收藏 转发到动态 举报
写回复
用AI写文章
90 条回复
切换为时间正序
请发表友善的回复…
发表回复
肯尼思 2015-08-17
  • 打赏
  • 举报
回复
关注,我也遇到这个问题。我怀疑难道真的是我的程序问题?
网络游侠2012 2014-07-11
  • 打赏
  • 举报
回复
看来这个问题还很普遍,很严重哟!关注中,,,,,。
gzw13999 2014-06-08
  • 打赏
  • 举报
回复
更下下PHP版本试试。数据库应该不会引起IIS挂掉。。 如果玩不懂LINUX建议更换2008系统+IIS7.5 比IIS6强多了。
网络游侠2012 2014-06-04
  • 打赏
  • 举报
回复
iis,能不用它,就尽可能不用它。因为它并不完美!
微wx笑 2014-05-02
  • 打赏
  • 举报
回复
检查PHP代码有没有内存泄漏吧。
sealteam10 2014-04-18
  • 打赏
  • 举报
回复
1.进入注册表,进入具体项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters 2.新建dword值,输入名称“EnableAggressiveMemoryUsage” 3.修改值为1. 4.开始-运行,输入CMD。进入CMD窗口。 5.执行:net stop http /y 6.执行:iisreset /restart 以下是微软网站上的解答你可以试试看,实在不行设置每天凌晨重启服务器 http://support.microsoft.com/kb/934878/zh-cn
李睿_Lee 2014-04-01
  • 打赏
  • 举报
回复
引用 82 楼 rhjyy 的回复:
一年了,没解决、没结贴,厉害,有耐心,不过真的很有助于大家的学习
不着急,慢慢来。哈哈。
rhjyy 2014-04-01
  • 打赏
  • 举报
回复
一年了,没解决、没结贴,厉害,有耐心,不过真的很有助于大家的学习
liuxingfffff 2014-04-01
  • 打赏
  • 举报
回复
不是做php的 帮你顶一下
newtown414 2014-03-20
  • 打赏
  • 举报
回复
更新一下: 如果服务器没有装金山毒霸也出现这个问题,注意查看是否有安装金山的猎豹浏览器,猎豹浏览器安装后会在服务里面有个安全服务的,同样会出现poolmon了一段时间后NKBS占用内存大增导致服务器失去响应的情况。卸载猎豹后重启服务器再用poolmon查看就会发现NKBS不见了。 猎豹在个人操作系统上好用也挺安全,但是不建议在要求稳定第一的服务器操作系统上安装。
学城 2014-03-18
  • 打赏
  • 举报
回复
引用 13 楼 q107770540 的回复:
设置应用程序池,到达一定程度自动回收资源
,赞同。 是否也考虑重装下iis
李睿_Lee 2014-03-11
  • 打赏
  • 举报
回复
不知道有没有哪位朋友有好软件能查找这个问题。
fandaye 2014-03-04
  • 打赏
  • 举报
回复
帮顶顶。讲得详细。
李睿_Lee 2014-01-27
  • 打赏
  • 举报
回复
@jasperu
引用 42 楼 Novolee 的回复:
[quote=引用 37 楼 u010756881 的回复:] 我解决了, 就用前面的思路,找到导致非页面内存增长德程序, 如不需要删除,就可以l
今天又挂了,用了这方法,找到Tag为Even,查得几个sys文件: afd.sys atmlane.sys atmuni.sys mrxsmb.sys srv.sys 貌似都是系统的驱动,头大了。[/quote]
李睿_Lee 2014-01-27
  • 打赏
  • 举报
回复
引用 73 楼 jasperu 的回复:
我有一篇文章,在我空间李。 要的联系 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
多谢。 前面有朋友提到这个问题,我也按那朋友的说法用poolmon.exe监控了,但是出来的关键字定位到的驱动文件实在是太多了,一下子不好确定是哪个出的问题,而且貌似都是Windows自带的。
jasperu 2014-01-25
  • 打赏
  • 举报
回复
擦。邮箱错了voilent.22@163.com
jasperu 2014-01-25
  • 打赏
  • 举报
回复
我有一篇文章,在我空间李。
要的联系
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
jasperu 2014-01-25
  • 打赏
  • 举报
回复
这样。我之前也是这个样的问题,可能是杀毒软件版本问题
我们出问题的是 金山杀毒软件的某一版本。
监控 非分页内存,一直在上升,最后导致IIS处理不了请求。

我们的处理方式是,卸载金山。
最好的方式是,卸载一些没有使用的软件进行尝试。
zhjdg 2014-01-24
  • 打赏
  • 举报
回复
都过了一年了,我过来跟你拜年的。
李睿_Lee 2014-01-24
  • 打赏
  • 举报
回复
引用 69 楼 zhoudelun 的回复:
当时查看日志,表示是什么非页面缓冲池 非静态缓存什么的。。。。 但是,即使按照 修改了iis配置,修改了些配置文件,还是没怎么好 这个问题搞死人了,后来搬到64位系统,就没怎么发生了。 ------------------- btw,现在,还是会经常遇到一个编译报错的问题(asp.net2.0) 换个应用程序池就好了。。 ------------- 貌似一个问题,一个假死,一个报错。。。 解决方法也相似,重启服务器和换程序池都是重新分配这个网站的“缓存” 总之,就是网站有漏洞了 大家可以在网站挂掉时,新建一个同样的网站,设置下新程序池看看。
我是每个网站一个程序池的。很大可能是未分页内存的原因,可是找不到是哪个进程出的问题。
加载更多回复(68)

8,327

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 IIS
社区管理员
  • IIS
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧