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 ...
随机推荐
- G - DNA sequence HDU - 1560
题目链接: https://vjudge.net/contest/254151#problem/G AC代码: #include<iostream> #include<cstring ...
- Hacking Using Beef-Xss
1.环境 hacker:192.168.133.128 os:Kali victims:192.168.133.1 os:win8 2.前期配置 首先进入beef-xss主目录,编辑配置文件,将 ...
- QTP图片验证/图片比较/二进制流对比法
图片验证主要是文件对比,其中我们可以利用二进制的方法读取图片信息,然后进行对比,达到对比的效果,本例子利用fso对象的文件流的方法实现,代码如下: Public Function CompareFil ...
- css-position属性实例2
position 1) fixed 固定在页面某个位置 2) absolute 也可以固定在某个位置,一般结合relative使用 注: 1)fixed和absoulue区别,假如一个div固定在右下 ...
- Java中抽象类概述
抽象类 1.抽象类的定义 抽象类是为子类提供一个规范,这就必须联系到继承: 抽象类的制定就是让子类继承的: public abstract 类名{ //类体 //抽象方法 修饰符 abstract ...
- CMD命令行下修改网络IP设置的方法
1.全自动修改网络地址: 复制代码 代码如下: @echo off netsh interface ip set address name="本地连接" static 192.16 ...
- Java编程的逻辑 (23) - 枚举的本质
本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http: ...
- .NetCore下B/S结构 初探基于遗传学算法的中学自动排课走班(二)
分析下染色体基因 这里用 老师 课程 班级 教室 周天 上下晚 课时作为染色体编码我封装了如下类 /// <summary> /// NP 授课事件 由教室.课程.班级 时间片段构成 li ...
- .NetCore Cap 结合 RabbitMQ 实现消息订阅
开源分布式消息框架 Cap 可以在GitHub上拉也可以通过nuget添加 上一篇博文写了 Windows RabbitMQ的安装使用 Cap支持事务,通过捕获数据库上下文连接对象实现 消息事务,消息 ...
- Authentication(Spring Security 认证笔记)
这篇文章是对Spring Security的Authentication模块进行一个初步的概念了解,知道它是如何进行用户认证的 考虑一个大家比较熟悉的标准认证过程: 1.用户使用username和pa ...