W3wp.exe占用CPU及内存资源
问题背景
最近使用一款系统,但是经常出现卡顿或者用户账号登录不了系统。后来将问题定位在了服务器中的“w3wp.exe”这个进程。在我们的用户对系统进行查询、修改等操作后,该进程占用大量的CPU以及内存资源,导致服务器运行缓慢,用户也是怨声载道。曾经尝试结束掉这个进程,但是没多久这个进程又“不知廉耻”的占用大量的CPU和内存。我是个懒惰的人,实在难以想象每次都需要到服务器中结束这个进程,所以想个解决办法一劳永逸!
W3wp.exe简介
下面是百度百科上的介绍:
w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。

常见问题
由于我们的服务器空间是刚划分出来的,发布了一个WEB站点,也就三两个用户在使用系统。所以初步断定是由于网站程序引起的。但是依然将常见的问题一一列举出来,以备不测。
- 网站程序的死循环或大量运算引起进程占用大量系统资源
- 服务器资源没有自动释放
- 缓存文件资源引起的程序越来越慢
- WEB站点访问量大

解决方案
1. 检查WEB站点。结束掉“W3wp.exe”进程,治标不治本,并不能从根本上解决问题。所以我们先要确定网站的应用程序池,查找到对应的网站检查网站程序。事实上如果你发布的WEB站点只有一个,那么就可以省去查找占用系统资源最高的PID进程对应的WEB站点了。但是通常情况下并不是这样的,所以把下面的解决方案贴上来。当然,在运行命令提示符“iisapp -a”的时候,如果系统没有任何提示,在“C:\windows\system32”中检查是否缺少这个脚本。
- 在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。
- 设置应用程序池的CPU监视,不超过25%(服务器为4CPU),每分钟刷新,超过限制时关闭。
- 根据w3wp取得是哪一个应用程序池。
在任务管理器中点击“查看--选择列”增加显示pid字段。就可以看到占用内存或者cpu最高的进程pid 在命令提示符下运行iisapp -a。注意,第一次运行,会提示没有js支持,点击确定。然后再次运行就可以了。这样就可以看到pid对应的应用程序池。(iisapp实际上是存放在C:\windows\system32目录下的一个VBS脚本,全名为iisapp.vbs,如果你和我一样,也禁止了Vbs默认关联程序,那么就需要手动到该目录,先择打开方式,然后选“Microsoft (r) Windows Based Script Host”来执行,就可以得到PID与应用程序池的对应关系。) 到iis中察看该应用程序池对应的网站,就ok了,做出上面的内存或CPU方面的限制,或检查程序有无死循环之类的问题。
2. 设置CPU监视。在设置CPU监视时,看到网上的许多资料都是IIS6的。所以请先注意下自己IIS的版本。例如我的版本是IIS7。右击WEB站点对应的应用程序池,选择“高级设置”。图示中若设置“已启用处理其关联=true”,那么服务器会在每隔一分钟监视一次CPU。若果超过95%的利用率,那么就会关闭掉“W3wp.exe”进程。完美解决我的问题,但是从网上对IIS7的各种分析来说,服务器监测关闭掉进程后经常不会重新启动新进程,必须手动重启。如果占用内存过多可以在对下面的“回收”进行设置。

3. 清理缓存文件。服务器长时间运行后没有定时清理缓存文件也有可能造成程序运行越来越慢。可以通过打开“c:\windows\temp\”目录,清空里面的缓存文件。或者直接通过cmd命令符”输入“ del c:\windows\temp*.* /s /q”。
W3wp.exe占用CPU及内存资源的更多相关文章
- 解决w3wp.exe占用CPU和内存问题
在WINDOWS2003+IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢.可以做以下配置进行改善:1.在IIS中对每个网站进行单独的应用程序池配置.即互相之间不影响.2 ...
- w3wp.exe占用cpu特别高
w3wp.exe占用cpu特别高,百度了一下在任务管理器标记出PID可以看到进程号. 试了一下,发现一个xxx网站占用cpu特别高,然后就结束了下进程,再重启网站cpu一下子降下来. 很奇怪,还需要具 ...
- w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法
对于IIS 管理员来说,经常会碰到 Web 服务器 CPU 占用 100% 的情况,以下是个人的日常工作总结和一些解决办法,主要用来剖析 w3wp.exe(IIS ) 占用 CPU 100% 的一些 ...
- w3wp.exe(IIS ) CPU 占用 100% 的常见原因
引起 w3wp.exe(IIS ) Cpu 占用 100% 的常见原因如下: 1. Web 访问量大,从而服务器压力大而引起的 2. 动态页面(.aspx)的程序逻辑复杂程度 3. 页面程序中有死循环 ...
- w3wp.exe占用CPU100%的解决办法
w3wp.exe占用CPU100%的解决办法 说点关于W3WP.EXE的知识. Q : W3WP.EXE,应用程序,应用程序池之间的关系 A : 一个应用程序池可以包含多个应用程序,一个应用程序池创建 ...
- 监控单个进程占用cpu与内存的使用情况
#!/bin/bashinterval=1if [ "$1" != "" ]then interval=$1fiecho "检查时间间隔(单位秒):& ...
- docker高级应用之cpu与内存资源限制(转)
时间:2015-06-09 14:01:52 阅读:1581 评论:0 收藏:0 [点我收藏+] 标签:docker资源限制 docker cpu限制 ...
- Kubernetes K8S之CPU和内存资源限制详解
Kubernetes K8S之CPU和内存资源限制详解 Pod资源限制 备注:CPU单位换算:100m CPU,100 milliCPU 和 0.1 CPU 都相同:精度不能超过 1m.1000m C ...
- Linux下查看哪些进程占用的CPU、内存资源
1.CPU占用最多的前10个进程: ps auxw|head -1;ps auxw|sort -rn -k3|head -10 2.内存消耗最多的前10个进程 ps auxw|head -1;ps a ...
随机推荐
- CTSC2018&APIO2018游记
CTSC2018&APIO2018游记 Day 0 傍晚出发,从长沙通往帝都的软卧哟. 然而长沙某中学坐高铁比我们晚出发还早到 Day 1 为了正经地写游记我决定忍住不在博客里吐槽酒店. 午饭 ...
- c++刷题(39/100)笔试题3
题目1: 现在你需要用一台奇怪的打字机书写一封书信.信的每行只能容纳宽度为100的字符,也就是说如果写下某个字符会导致行宽超过100,那么就要另起一行书写 信的内容由a-z的26个小写字母构成,而每个 ...
- 面试:----Struts和springmvc的区别--区别上
SpringMVC和Struts2的区别 1核心控制器(前端控制器,预处理控制器):对于使用过MVC框架的人来说这个词应该不会陌生.核心控制器的主要用途处理所有的请求.然后对那些特殊的请求.统一的进行 ...
- 第二篇:服务消费者(rest + ribbon)
一. ribbon简介 ribbon是一个负载均衡客户端,可以很好的控制http和tcp的一些行为,Feign也用到了ribbon,当你使用@ FeignClient,ribbon自动被应用. Rib ...
- 如何新建Quartus工程—FPGA入门教程【钛白Logic】
这一章我们来实现第一个FPGA工程—LED流水灯.我们将通过流水灯例程向大家介绍一次完整的FPGA开发流程,从新建工程,代码设计,综合实现,管脚约束,下载FPGA程序.掌握本章内容,大家就算正式的开始 ...
- python3之模板pycurl探测web服务质量
1.pycurl简介 pycURL是libcurl多协议文件传输库的python接口,与urllib模块类似,PycURL可用于从python程序中获取由URL标识的对象,功能很强大,libcurl速 ...
- Selenium WebDriver如何模拟复制和粘贴
以最简单的例子来说明,我们需要在bing搜索引擎中,输入并查询“Selenium自动化测试”几个字.可以很快就写出如下代码: String queryString = "Selenium自动 ...
- 在Scrapy项目【内外】使用scrapy shell命令抓取 某网站首页的初步情况
Windows 10家庭中文版,Python 3.6.3,Scrapy 1.5.0, 时隔一月,再次玩Scrapy项目,希望这次可以玩的更进一步. 本文展示使用在 Scrapy项目内.项目外scrap ...
- MySQL一问一答
一.问:如果有一张表,里面有个字段为id的自增主键,当已经向表里面插入了10条数据之后,删除了id为8,9,10的数据,再把mysql重启,之后再插入一条数据,那么这条数据的id值应该是多少,是8,还 ...
- supervisor安装部署和使用实例
Supervisord是用Python实现的一款非常实用的进程管理工具,类似于monit,monit和supervisord的一个比较大的差异是supervisord管理的进程必须由superviso ...