mysql-nt.exe w3wp.exe cpu 100%_w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法

对于IIS管理员来说,经常会碰到Web服务器CPU占用100%的情况,以下是个人的日常工作总结和一些解决办法,主要用来剖析w3wp.exe(IIS )占用CPU 100%的一些原因 和解决方案,希望能对你有所帮助

w3wp.exe的解释:全名,IIS Application Pool Process。 w3wp.exe是IIS工具的一部。w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,如果你有多个应用程序池,就会有对应的多个w3wp.exe的进程实例运行。这个进程用来分配大量的系统资源。

引起 w3wp.exe(IIS ) Cpu占用100%的常见原因如下:

1. Web 访问量大,从而服务器压力大而引起的

这个也是最常见的情况。如果 Web访问量大,特别是同时在线人数过多,处理的Requests Current(当前请求数)过高,就会同时对IIS和服务器造成较大的压力。特别是 服务器需要不断的运算,往客户端发送生成后的页面,这些都需要占用大量的CPU资源,从而造成Cpu 100%

2. 动态页面(.aspx)的程序逻辑复杂程度

这个问题,对 w3wp.exe的CPU占用 来说也是蛮严重的,可能在访问量级比较小的情况下并没有多少影响,但是在高并发的网站上面来说,特别是Asp.Net的Requests Current超过250的时候,将会是w3wp.exe占用CPU的一个重要的因素。

我曾经碰到过这样一个情况,两个 web(A和B)在两台 配置相当的 服务器中部署,且两个站点的访问量都很大,访问页面都集中在两个站点的两个单独页面,且这两个页面 的IIS连接数都是50个左右,但是页面程序的复杂程度就错了很多,A站点中的页面,只有几个 简单的Repeater绑定, 而B站点中的页面,则有大量的绑定、字符串过滤替换、Repeater嵌套绑定等等。这样的情况,在 大流量、高并发的环境中,A站点 在IIS连接数 达到3 W多的时候,CPU占用仍然是50 %左右,而B站点在IIS连接数 达到7K左右的时候,CPU就90%多了,造成了 服务器的压力很大,并且IIS遭到了堵塞。

3. 页面程序中有死循环

如果Web访问量不大,但是CPU却占用很高,那么页面中的程序肯定有死循环或者性能比较严重的 程序语句

4. Http方式下载的站点

如果站点是HTTP形式下载站,也遇到过w3wp.exe占用CPU 100%的情况

5. 服务器资源不会自动释放

有时,一个站点的流量在一个小时内陡增,结果操作系统分配了比较多的 CPU资源,但是当流量下去后,w3wp.exe占用的CPU并没有及时释放,仍然在保持在90%以上

6. 对 IIS 日志文件操作

比如此时分析 IIS 日志文件里面的数据,把 IIS Log 日志导入到数据库中等操作,也会造成此现象

解决办法:

1. 快速定位到出问题的站点

利用iisapp -a命令,快速的定位到出问题的站点。当然如果当前服务器只跑了一个web站点,那么此步骤可以跳过

在 cmd中 输入iisapp - a,会出现下图中的信息:

19efb1d8616db869f268f8162894fa77.png

当然,这个要求你没个站点,都要有独立的应用程序池与之对应,应用程序池的名称,最好就是站点的名称,如下图:

a35d5cb6b0f06f85c17f83258f74f8fc.png

关于 IIS的应用程序池的配置,这里就不说了,不懂的可以search下

之后,再打开任务管理器,如下图:

56a04dba8fad084aef34335b5ec441f4.png

观察进程为 w3wp.exe的,查看那个CPU占用的高,再利用其PID于iisapp中列出的结果对比,就能轻松的找出是那个站点占用的CPU过高了

2. 重启 IIS和 应用程序池

此步是紧急处理,一般都是治标不治本的步骤。如果你的站点搭建的有 负载均衡(负载均衡、NLB),那么请在 负载均衡(负载均衡、NLB)把当前服务器下了,然后重启。如果你没有 负载均衡(负载均衡、NLB),而且你的站点又是在线的,那么,就悲剧10多秒吧,短暂的不能访问吧

3. 给页面加上页面级别缓存

如果Web是Asp.Net程序,那么请一定要。但是有好多人都没有用好OutputCache,导致经常出现下载页面的问题,所以都放弃了使用,这里有

OutputCache 非常有用,好处有三:直接从内存读页面,页面响应速度更快,用户体验更好;大大的降低了服务器的压力,特别是对于高并发的网站,特别是CPU的压力;减少了DB的强求,降低DB(数据库)的压力。

4. 检查页面逻辑

如果WEB流量很低,但是还有w3wp.exe(IIS ) CPU占用100%左右的情况,那么就检查页面的代码逻辑吧,很有可能是死循环或大量的运算导致。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/259708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TOP结果详解

2019独角兽企业重金招聘Python工程师标准>>> TOP前5行 top - 16:24:25 up 284 days, 4:59, 1 user, load average: 0.10, 0.05, 0.01 top 当前时间、系统启动时间、当前系统登录用户数目、平均负载(1分钟,10分钟,15分钟)。平均负载&#x…

BZOJ3236 [Ahoi2013]作业

昨天晚上做的。。。差错一直查到今天 最后没办法问管理员要了数据才知道原来ans数组开小了233,简直沙茶 这道题不就是裸的莫队嘛 ||| 只要用树状数组维护当前的两种个数即可。 1 /**************************************************************2 Problem: 3…

mysql ddl dml 导出_MySQL:DDL和DML语句,弄明白了吗?

语句分类DDL(Data Definition Languages)语句:即数据库定义语句,用来创建数据库中的表、索引、视图、存储过程、触发器等,常用的语句关键字有:CREATE,ALTER,DROP,TRUNCATE,COMMENT,RENAME。增删改表的结构D…

敏捷水手——单体法到微服务之旅

\本文要点\\探究持续四年多的渐进式改革是什么样子;\\t探索为什么在变革软件和组织设计时要遵循康威定律;\\t看看如何将领导力应用到不同的团队、领域和层级;\\t举例说明变革管理如何依赖于理念和一贯的长远目标;\\t了解从职能型团…

SQLCMD的介绍

SQLCMD的介绍 原文:SQLCMD的介绍文章转载自:http://blog.sina.com.cn/s/blog_3eec0ced0100mhm2.html最近经常用到超过80M *.sql文件的导入问题。上网找了一下,发现超过80M的文件是不能在查询分析器中执行的。找了些解决方案,个人感觉最简单的…

Windows下用命令行导出导入MySQL数据库

方法1:添加“系统环境变量”。我的电脑>属性>高级>环境变量,在“系统变量”栏目下找到 path 双击编辑。先添加;(分号),再添加MySQL安装目录下bin文件夹(包含m…

python模拟鼠标拖动滑块_如何通过拖动滑块来控制Kivy滚动视图?

是的,你可以这样做:在ScrollView中有一个scroll_类型属性,因此通过设置它,您可以实现您想要的功能。在如果设置scroll_type[bars],则可能需要更改bar_width属性,因为它的默认值为2,而且它太小&a…

怎样下载C/C++的免费、开源且跨平台IDE——Code::Blocks

进入Code::Blocks的官网,官网地址为:http://www.codeblocks.org/home。进入后如下图所示: 点击“Home”菜单,跳转到IDE的下载界面: 有几种模式可供选择,我选择的第一种,Download the binary rel…

网站吞吐量

http://www.blogjava.net/neverend/archive/2011/01/25/343514.html转载于:https://www.cnblogs.com/sevensole7/archive/2013/06/05/3118966.html

外链引入css有哪些方式_HTML+CSS基础(三) CSS的引入方式和CSS选择器

一、CSS概念:什么是CSS,CSS说白了就是给页面添加样式,让整个页面变的好看起来的一种东西,用来定义网页外观,如字体、背景、颜色等二、在页面中使用css的3种常用方式1.行内样式就是在一个标签内使用 style 属性,仅为某一个标签添加样式例如文字2.内嵌式就…

混合部署

http://horse87.blog.51cto.com/2633686/1628179转载于:https://blog.51cto.com/12341672/1893792

Logistic回归 python实现

Logistic回归 算法优缺点: 1.计算代价不高,易于理解和实现2.容易欠拟合,分类精度可能不高3.适用数据类型:数值型和标称型 算法思想: 其实就我的理解来说,logistic回归实际上就是加了个sigmoid函数的线性回归…

dataset转换json格式

转换json方法 public static string DataToJson(DataSet dt){StringBuilder jsonBuilder new StringBuilder();jsonBuilder.Append("{\"");jsonBuilder.Append("points");jsonBuilder.Append("\":[");for (int i 0; i < dt.Table…

《自控力》总结_完结

《自控力》总结_完结 《自控力》总结_完结 Saturday, December 15, 2012 9:35 PM 《自控力》总结 第一章 1 前额皮质的3个功能区域&#xff1a;“我要”“我不要”“我想要” 2 人的两个自我&#xff1a;冲动的自己&#xff0c;控制自己。给两个自己分别起名字&#xff0c;当某…

python 定时自动爬取_python实现scrapy爬虫每天定时抓取数据的示例代码

1. 前言。1.1. 需求背景。每天抓取的是同一份商品的数据&#xff0c;用来做趋势分析。要求每天都需要抓一份&#xff0c;也仅限抓取一份数据。但是整个爬取数据的过程在时间上并不确定&#xff0c;受本地网络&#xff0c;代理速度&#xff0c;抓取数据量有关&#xff0c;一般情…

博客园win8客户端开发记录5-app设置 登录 回复评论

这段时间完成了博客园cnblogs登录&#xff0c;注销和设置的相关功能 &#xff0c;进入软件&#xff0c; 打开win8的charm setting 选择设置就是当前软件的设置选项了&#xff0c; 感觉这有点山寨mac os x系统&#xff08;所有软件包括当前系统使用统一的设置&#xff09;。 扯远…

Oracle 修改SYS、system用户密码

Oracle 修改SYS、system用户密码 by:授客 QQ&#xff1a;1033553122 概念 SYS用户是Oracle中权限最高的用户&#xff0c;而SYSTEM是一个用于数据库管理的用户。在数据库安装完之后&#xff0c;应立即修改SYS,SYSTEM这两个用户的密码&#xff0c;以保证数据库的安全。 安装完之…

春节小作业总结1

1、x Double.parseDouble(X);字符串转Double类型&#xff1b; 2、使用正则表达式判断输入的是字母还是数字 要import java.util.regex.Pattern 和 java.util.regex.Matcher public boolean isNumeric(String str){ Pattern pattern Pattern.compile("[0-9]*&q…

简单工厂模式,工厂方法模式,抽象工厂模式,spring的狂想

菜鸟D在项目中遇见一个比较纠结的高耦合&#xff0c;所以就想办法来解耦。情况是这样的&#xff1a;系统通过用户选择treeview控件的节点判断调用不同的处理&#xff0c;这些处理中某些东西又是类似的。同事的建议是采用简单工厂&#xff0c;耦合就耦合吧&#xff0c;反正treev…

堆、栈及静态数据区详解 转

内存分为代码区、全局数据区、堆区和栈区。堆一般存放动态数据&#xff0c;栈里一般存放局部成员。 关于堆栈和堆的概念[问题] C中创建本地&#xff08;或者说局域&#xff09;变量是在堆栈&#xff08;stack&#xff09;中分配内存地址&#xff0c;而创建全局变量则是在堆&…