设置w3wp.exe进程对的CPU限制
问题分析:
如果w3wp.exe进程占用cpu过高,会影响服务器的运行其他进程的性能。
解决方法:
1、选择应用程序池操作面板上的“高级设置”。
2、秘密就在“CPU”栏目下的“限制(百分比)”和“限制操作”这两项。首先说明下第一项百分比,假如我们想限制这个程序池的CPU为10%,那么应该填写10000,即10*1000,这个地方要特别注意。
关于“限制(百分比)”这项,微软的官方解释是:限制(百分比)设置了应用程序池中的工作进程(即w3wp.exe)在“限制间隔“(默认5分钟)的时间段内使用CPU时间的最大百分比。如果超出这个限制,系统将记录到事件日志中,并且触发限制操作中的某个可选事件。
默认的限制(百分比)为0,表示不进行任何CPU限制,而不是把CPU限制为0。
3、接下来就是最关键的限制操作项了。这个项中有4种选择,分别阐述如下。
NoAction:超出限制后,除了写入事件日志之外,不执行任何操作。
KillW3WP:超出限制后,关闭应用程序池。我们不推荐使用此项,因为出现问题站点是无法预期的,如果贸然关闭,既无法进一步判断问题站点,也会造成网站无法打开,引起其他客户的抱怨。
Throttle:将CPU严格限制为百分比中的数值。问题站点发作时,会影响同一程序池下的其他网站。
ThrottleUnderLoad:只有在系统CPU资源不足时,才开始限制CPU使用率。举例说明,假如当前系统CPU为10%,设置某程序池限制CPU为20%,问题站点占用CPU为30%。这时仍然不会限制CPU使用,因为总的CPU才40%,系统资源仍然绰绰有余。
我们推荐采用Throttle或ThrottleUnderLoad,根据经验,ASP或ASP.NET网站可以直接使用Throttle限制,某些PHP网站占用CPU较高,采用Throttle限制后网站打开速度不理想,这时可以采用ThrottleUnderLoad。