解决服务器w3wp.exe进程占用cpu和内存过多问题

  最近公司服务器总出现CPU100%占用情况,服务器配置为双核Xeon3.0x2,2G ECC内存。

  发现是w3wp.exe长时间占用大量CPU.出现这种情况应该是网站程序存在死循环等问题所致。

  在找到问题以前可以暂时采取限制w3wp进程CPU使用率的方法保证网站可以将就着工作:

  在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢。

  解决CPU占用过多:

  1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。

  2、设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。

  根据w3wp取得是哪一个应用程序池:

  1、在任务管理器中增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid

  2、在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在 C:windowssystem32目录下的一个VBS脚本,全名为iisapp.vbs,如果你和我一样,也禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script Host”来执行,就可以得到PID与应用程序池的对应关系。)

  3、到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。

  解决内存占用过多,可以做以下配置:

  1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。

  2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回收内存。

  我的设置如下:

  首先是对CPU的限制:在启用cpu监视后,我设置该应用程序池最大的cpu使用率为50%。设置刷新cpu时间为1分钟,设置操作为“关闭”。最大工作进程数设置为1。这个意思是,IIS刷新检测该独立池的CPU使用情况时间为1分钟,如果超过设置的cpu限制50%,就会发出关闭池的指令,要求池在指定的时间内关闭。如果池成功在这个时间内关闭,IIS会重启动一个新池,此段时间很短,一般不会有什么感觉,池就重新开启了,对于访问网站的人基本是不会有感觉的。但如果池没有在指定时间内关闭,IIS就会强行关闭它一个刷新CPU时间。在这个停止的时间内,网站无法访问,提示“Service Unavaliable”。

  

  关闭时间和启动时间间隔设置:设短一些比如10秒,这样当您的网站程序大量占用系统资源时IIS自动快速回收进程并且快速启动进程,您的网站暂时还可以将就着工作。

  

  对内存的限制及进程回收时间的设置:我设置为内存占用超过800M就自动回收内存,虚拟内存没有做限制。进程回收时间我保持默认没有修改。各位可以根据自己的情况设置更短的时间。对应用程序池最大虚拟内存也可以在此进行设置,超过了设置的最大虚拟内存,该池会就被回收。

  

  最后综合落伍wlmmc的一些经验,总结一些需要注意的问题:

  1、 要限制一个站点的CPU使用,必须将该站点设置为独立应用程序池,共用应用程序池是无法限制单个站点的。IIS独立应用程序池,就需要独立的进程,非常消耗内存。独立池越多,就有越多的W3WP进程。对于每个站点均要独立应用程序池的服务器,在一般的普通P43.0 2G内存的普通服务器上,建议不要超过50个站点,最好30以内,不然服务器压力非常大。在配置上,我一般把资源消耗较大的网站独立一个池,一般普通BBS或者生成HTML的系统大概5个站一个池。普通网站以及一些企业站点均共用一个池。

  2、根据wlmmc的经验,在服务器硬件允许的情况下,一般不要限制站点内存使用,这样能够保证网站运行,不会出现用户掉线情况。需要限制某站的最大虚拟内存不要小于64M,不然可能出现一些未知的错误。

  3、这些都不是根本解决办法,它的根本问题是网站程序有问题,要解决根本问题还要从程序查起。根据本文开头提到的方法查到具体的应用程序池,找到使用此应用程序池的网站,解决网站程序存在的问题,如死循环之类。

  4、除了w3wp.exe, 在调用数据库进行大量查询操作的时候,也会大量占用CPU资源,这是难免的(数据库方面的语句及结构优化不在本文讨论范围之内)。个人认为,只要不是CPU长时间占用100%, 一般在75%左右都是正常的。

  非常愿意和各位在服务器配置、优化、安全等方面进行交流和讨论。

时间: 2024-08-03 19:38:59

解决服务器w3wp.exe进程占用cpu和内存过多问题的相关文章

IIS6 w3wp.exe进程占用cpu和内存过多的解决方法_win服务器

在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢. 解决CPU占用过多:1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响.2.设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭. 根据w3wp取得是哪一个应用程序池:1.在任务管理器中增加显示pid字段(任务管理器>查看>选择列>PID(进程标识符)).就可以看到占用内存或者cpu最高的进程pid. 2.在命令提示符下运行iisapp

IIS6 w3wp.exe进程占用cpu和内存过多的解决方法

  今天有朋友问我他的服务器网站访问很卡,内存及CPU占用不能及时释放,从而导致服务器响应速度很慢,这里简单介绍下,方便需要的朋友 在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢. 解决CPU占用过多: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭. 根据w3wp取得是哪一个应用程序池: 1.在任务管理器中增加显示pid字段(任务

解决IAStorDataMgrSvc.exe进程占用cpu过高

这个进程一般都是驱动程序版本有问题!别以为电脑都已经是装的最新版本的驱动了就觉得不会是这个问题,本人就是安装官方推荐的旧版本的驱动来覆盖本地的最新驱动,这问题才得以解决,现在想来应该是不知什么时候用驱动人生安装了新版本驱动 ,而该驱动版本刚好就有问题,吭爹吧,呵呵.... 推荐做法是去dell电脑官网下载推荐的驱动版本,如果下回来安装的驱动提示是否要用比较旧的版本覆盖安装本地较新的版本,果断选择是,安装完驱动 重启,若IAStorDataMgrSvc.exe进程占用cpu问题解决,则证明就是该进

w3wp.exe进程占用内存过高解决方法_win服务器

w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行.这个进程用来分配大量的系统资 今天研究了一下,可以做以下配置: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的回收时间,默认为1720小时,可以根据情况修改.同时,设置同时运行的w3wp进程数目为1.再设置当内存或者cpu占用超过多少,就自动回收内存 一般来说,这样就可以解决了.但仍然会出现个别网站因为程序

w3wp.exe进程占用内存过高解决办法

今天研究了一下,可以做以下配置: 1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响. 2.设置应用程序池的回收时间,默认为1720小时,可以根据情况修改.同时,设置同时运行的w3wp进程数目为1.再设置当内存或者cpu占用超过多少,就自动回收内存   一般来说,这样就可以解决了.但仍然会出现个别网站因为程序问题,不能正确释放. 那么,怎么样才能找到是哪一个网站的?   1.在任务管理器中增加显示pid字段.就可以看到占用内存或者cpu最高的进程pid 2.在命令提示符下运行ii

解决win8系统TrustedInstaller.exe进程占用过高的方法

  win8系统用户在任务管理器中会发现有一个TrustedInstaller.exe的系统进程,有时会占用用户很高的CPU,对于该进程很多用户不知道是干什么的,也不敢轻易的禁止,其实win8系统中的TrustedInstaller.exe进程是Windows模块安装服务模块进程,用户是可以禁止的,下面我们看下该进程的禁止方法吧! TrustedInstaller.exe进程是什么 TrustedInstaller.exe其实就是"Windows Module Installer"(W

dllhost.exe是什么进程?dllhost.exe进程占cpu 100%

dllhost.exe是什么进程 dllhost.exe是微软Windows操作系统的一部分.dllhost.exe用于管理DLL应用.这个程序对你系统的正常运行是非常重要的.  进程信息进程文件: dllhost 或者 dllhost.exe[1]出品者:Microsoft Corp 系统进程:是 后台程序:是 使用网络:否 硬件相关:否 常见错误:未知N/A 常见错误:未知N/A 安全等级 (0-5): 0 间谍软件:否 内存大小:3664k 广告软件:否 病毒:否 木马:否 dllhost

认识w3wp.exe进程,从根本上解决占用资源较大问题_win服务器

在windows server 2003中对于每一个web应用,iis 6.0都用一个独立的w3wp.exe的实例来运行它.w3wp.exe也称为工作进程(每一个主机头都会有一个) 直接在任务管理器中结束进程是不起作用的,结束后不久它会执行启动,要想结束它可以在iis中找到相应的应用程序池停止相应的应用程序池工作. 这些都不是解决办法,它的根本问题是你的那个网站程序有问题,在找到问题以前可以先打开iis找到应用程序池先用右键属性中设置"性能"把其中的cpu设成大于60%关闭应用程序池,

doscan.exe进程占用了大量的CPU和内存的解决方法_应用技巧

症状 在安装完Symantec AntiVirus Corporate Edition 10.0或Symantec Client Security 3.0重启电脑后,发现doscan.exe进程占用了大量的CPU和内存,在doscan.exe进程结束后,rtvscan.exe进程使用约40 MB的内存,使电脑运行速度变慢. 解决方法 这个问题已在Symantec AntiVirus 10.0.1 和 Symantec Client Security 3.0.1 中得到修复,安装上述版本的软件就可