我们有一台Windows Server 2003 Web服务器,在该服务器上运行大约5-6个顶级Sharepoint站点,每个站点都有一个不同的应用程序池。
有一个W3WP进程在一天中的大部分时间(昨天和今天发生)保持100%的挂钩,并且它已连接(通过在命令行执行“Cscript iisapp.vbs”并匹配ProcessID)到特定的Sharepoint站点......几乎无法使用。
我可以采取什么样的纠正措施?以下是我的想法
1)在IIS中停止并重新启动Web站点 - 由于某种原因,这并没有阻止违规的W3WP进程???任何想法为什么不呢?
2)停止并重新启动关联的应用程序池。
3)回收相关的应用程序池。
任何听起来都是正确的想法?如果没有什么好的尝试?我不能做一个iisreset,因为我不想改变服务到另一个,使用更多,Sharepoint网站。
如果我真的需要做一些诊断工作,请指出我正确的方向。我不是Sharepoint管理员(虽然我只是一名开发人员,但他已经离开了城镇,所以我正在填写)但我会尽我所能。
如果你需要任何信息,请告诉我,我会仔细查看(慢慢地,因为那个过程正在盯住整个机器)。
答案 0 :(得分:3)
这不是您需要的IISReset。你有一段代码与你的记忆一脉相承。最有可能的是它实际上不是CPU问题而是分页问题。我已经遇到过几次内存中的数据结构变得太大而无法有效地进行页面输入/输出,并且最终尝试页面数据开始消耗所有内容。我建议的步骤是:
1)去获取IIS Debug Diagnostics工具。并learn how to use them。
2)如果可能,将会话状态从InProc中删除到状态服务器或sql server(因为这需要序列化进入会话的所有类,这可能是不可能的)。这有助于缓解一些与流程相关的内存问题。
3)转到应用程序池并向上调整工作进程数。删除快速失败保护(这将允许站点继续提供页面,即使发生快速灾难性错误)。
IIS调试诊断程序将记录大量数据,但您可以指定特定的“捕获”警报,它将检测挂起,过多的CPU使用情况等。它将捕获数据的数据,因此在尝试执行时需要等待很长时间查看日志。
答案 1 :(得分:1)
原来有人试图安装一些乱七八糟的功能。
所以他写了一个stsadm脚本来卸载这些功能
处理器还在钉住。
我为该IIS进程重新启动了IIS应用程序池,但没有修复它。
然后我重新启动了该站点的IIS,这解决了处理器问题。