w3wp CPU 100%问题解决

问题:

web服务器w3wp CPU占用率非常高,导致整个服务器CPU 100%占用,问题无法正常重现

解决方法:

--问题尚未解决,此处记录目前的解决状态

1)下载windbg  

参考https://blog.csdn.net/johnsonblog/article/details/8165861

最终的下载地址:

http://download.microsoft.com/download/A/6/A/A6AC035D-DA3F-4F0C-ADA4-37C8E5D34E3D/setup/WinSDKDebuggingTools_amd64/dbg_amd64.msi

2)将windlb安装在服务器(本地也可以),内存转储文件可能很大(G级别),推荐直接安装在服务器,避免复制dmp文件

默认目录为:C:\Program Files\Debugging Tools for Windows (x64)

3)创建进程转储问题,找到cpu占用最高的w3wp,右键,创建转储文件,若成功,则会提示转储文件的地址,一般放在C:\Users\Administrator\AppData\Local\Temp\X

4)  用windbg打开转储文件分析,打开的菜单为Fille->Open Crash Dump 或者按Ctrl + D

5)  输入命令分析,找到正在执行的代码

 参考:https://improve.dk/debugging-in-production-part-1-analyzing-100-cpu-usage-using-windbg/

概要:

在打开的窗口下面的输入框中依次输入:

加载dotNet分析工具: !loadby sos clr
查到正在运行的线程:     !runaway
运行这个命令后,找到执行时间最长的线程,一般是第一个,找到线程的id
选择线程,输入:~Xs 将X换成线程Id
加载线程的调用堆栈:!CLRStack
现在可以看到代码了。
---
服务器dump了一个,CLRStatck的时候报错:

PDB symbol for clr.dll not loaded,查看资料是 mscordacwks.dll版本不匹配,研究了半天,没搞定

https://blogs.msdn.microsoft.com/dougste/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll

https://github.com/Microsoft/WinObjC/wiki/Debugging-Stack-Traces-from-Crash-Dumps

最后,安装了Windbg Preview(直接在win10市场中安装),用其打开dump文件,输入几个命令后,它自己下载了符号文件,命令终于可以运行了。

 

最终发现问题是老代码有个地方用到了静态的Dictionary<>,Dictionary<>不是线程安全的,不应该作为静态字段用在web程序中。

000000397797d7c0 00007ffdabdb8d2e System.Collections.Generic.Dictionary`2[[System.__Canon, mscorlib],[System.__Canon, mscorlib]].FindEntry(System.__Canon)
000000397797d830 00007ffd519cca81 ModelBLL.GetModel(System.String)


 

转载于:https://www.cnblogs.com/jianyi0115/p/10952440.html

移动端UI自动化测试新框架Maestro:声明式语法与实战指南 UI自动化测试是保障移动应用质量的关键环节,其核心原理是通过脚本模拟用户操作,对应用界面进行自动验证。传统命令式框架(如基于Selenium WebDriver的Appium)虽然控制粒度细,但脚本编写和维护成本较高。声明式测试框架则通过描述“做什么”而非“怎么做”,显著降低了技术门槛和维护复杂度,其技术价值在于提升测试脚本的可读性、编写效率与跨团队协作能力。在移动端测试领域,这尤其适用于需要快速验证核心业务流程、进行冒烟测试和回归测试的场景。本文聚焦的**Maestro框架**,正是这一理念的杰出实践。它 阅读详情

相关推荐

Ardupilot姿态控制详解(完结篇)

本文主要是对过去写的一些APM中姿态控制流程及函数博文的汇总。 按照之前写的博文以及个人认为的学习顺序,给出APM姿态控制器的学习顺序如下: APM姿态旋转理论基础 Ardupilot姿态控制器 PID控制流程(整定后的P控制器) 详解APM的开方控制器sqrt_controller Ardupilot前馈及平滑函数input_euler_angle_roll_pitch_yaw解析 Ardupilot倾转分离函数thrust_heading_rotation_angles Ardupilot四元数姿态控制

moumde的博客 6983

WinDbg探究CLR底层(1) - 应用程序域

一、什么是应用程序域 操作系统由于其稳定性与可靠性的要求,都会使用隔离层,来确保运行在某个隔离层内的代码不会对其他隔扇层的代码产生影响。如Windows通过进程来实现这种隔离机制,所能的可执行代码、数据、以及其它资源都被包含在进程中,系统其他进程通常不允许对它们进行访问。同理、.NET应用程序同样也是被局限在进程内执行,但是.NET还进一步引入了另一种逻辑隔离层,也就是我们这里说的应用程序域(Ap...

weixin_30367945的博客 260

基于深度学习的电力负荷预测研究Python源码(高分毕设)

基于深度学习的电力负荷预测研究Python源码(高分毕设),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源码(高分毕设)基于深度学习的电力负荷预测研究Python源

WinDbg调试分析 asp.net站点 CPU100%问题

公司为了节省成本,最近有一批服务器降了配置,CPU从8核降到了2核。本身是小站点,访问量也不高,CPU总是会飙到100%而且可以一直持续几个小时,直接强制结束进程可以维持几个小时,几个小时后又一样,运维那边总是受到cpu的警告短信很是苦恼,按理来说就算降低了配置也不至于会让CPU一直100%。   以下就分享本次使用 WinDbg 找出 CPU 100问题的经验: ...

arefp02662的专栏 377

The version of SOS does not match the version of CLR you are debugging; SOS.dll版本不匹配; Dump文件不同环境msc...

The version of SOS does not match the version of CLR you are debugging 和 PDB symbol for clr.dll not loaded 解决WinDbg调试Dump文件不同环境mscordacwks.dll版本问题 程序发生了崩溃,我抓了一个mini Dump,Mini dump 有一个优点就是非常的...

weixin_30895603的博客 1167

VS2012中使用SOS调试CLR

之前看了《用WinDbg探索CLR世界》的一些列文章,发现SOS真的是一个非常好的调试.net的工具, 然后又惊喜的在http://blogs.msdn.com/b/mariohewardt/archive/2012/06/05/visual-studio-2012-and-windbg-integration.aspx 上看到原来windbg已经被集成 到VS2012的IDE中。本文主要讲解...

weixin_30782331的博客 210

IIS7下w3wp.exe进程CPU100%问题解决办法

IIS7下w3wp.exe进程CPU100%问题解决办法

hijk7的博客 169

解决w3wp.exe cpu占用率100%问题

<br />在IIS6下,经常出现w3wp的内存占用不能及时释放,从而导致服务器响应速度很慢。今天研究了一下,<br />可以做以下配置:<br />1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。<br />2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。同时,设置同时运行的w3wp进程<br />数目为1。再设置当内存或者cpu占用超过多少,就自动回收内存.一般来说,这样就可以解决了。但仍然<br />会出现个别网站因为程序问题,不能正确释放。<br />那么,怎

879

解决w3wp.exe内存占用问题w3wp.exe CPU占用100%

解决w3wp.exe内存占用问题w3wp.exe CPU占用100% 在IIS6下,经常出现w3wp.exe的内存及CPU占用不能及时释放,从而导致服务器响应速度很慢。 解决内存占用过多,可以做以下配置: 1、在IIS中对每个网站进行单独的应用程序池配置。即互相之间不影响。 2、设置应用程序池的回收时间,默认为1720小时,可以根据情况修改。再设置当内存占用超过多少(如500M),就自动回...

weixin_30411819的博客 122

mysql-nt.exe w3wp.exe cpu 100%_认识w3wp.exe进程,从根本上解决占用资源较大问题

认识w3wp.exe进程,从根本上解决占用资源较大问题发布时间:2019-12-14 16:19来源:互联网当前栏目:web技术类在windows server 2003中对于每一个web应用,iis 6.0都用一个独立的w3wp.exe的实例来运行它。w3wp.exe也称为工作进程(每一个主机头都会有一个)直接在任务管理器中结束进程是不起作用的,结束后不久它会执行启动,要想结束它可以在iis中找...

weixin_29224347的博客 177

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

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

东亮博客 7万+

【转】w3wp.exe(IIS ) CPU 占用 100% 的常见原因及解决办法

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

Hello world. 2487

W3wp.exe占CPU利用率100%的故障排除过程

W3wp.exe占CPU利用率100%的故障排除过程 3月11日接到下属的报障,说XX项目的接口服务器CPU得用率一直为100%。他们检查服务器系统安全与网络情况都正常。只是接口服务器上的w3wp.exe占用CPU利用率99%,一直不下来。于是我叫他先重启一下IIS服务看看,我随后就远程上去看看。我同事告诉我,重启IIS服务后故障仍然存在。此时我已经远程连接到该接口服...

weixin_34241036的博客 231

w3wp.exe(IIS ) CPU 占用 100% 的常见原因

引起 w3wp.exe(IIS ) Cpu 占用 100% 的常见原因如下: 1. Web 访问量大,从而服务器压力大而引起的 2. 动态页面(.aspx)的程序逻辑复杂程度 3. 页面程序中有死循环 4. Http方式下载的站点 5. 服务器资源不会自动释放 6. 对 IIS 日志文件操作 解决办法: 1. 快速定位到出问题的站点 利用iisapp -a 命令,快速的定位...

weixin_30677617的博客 346

Windbg 调试 SOS 版本问题

为什么80%的码农都做不了架构师?>>> ...

weixin_33853827的博客 882

iis 中查看w3p.exe所性应用池与iisapp来查看pid占用cpu过高进程

iisapp -a来显示应用程序池的性能列表. iisapp.vbs它是一个脚本程序,在安装2003时需要sp1才有 而iis7可以直接用它的外壳命令 c:"windows"system32"inetsrv>appcmd.exelist wp来显示 有时候因为服务器安全问题不能直接运行,我们可以通过下面的方法解决下。 iis7中查看w3wp进程 在iis中可以用iisapp命令查看到所

兰辉 1943

软件调试

书籍: 软件调试修炼之道(Debug it!: find, repair, and prevent bugs in your code)TP311.5/D64 2011 Windows高级调试(advanced window debugging)TP316.7/A60 2009 软件调试 TP311.5/C33 2008 软件调试实战(The develo...

191

iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU100%导致网站反应速度缓慢的解决方案

iis占用服务器内存,W3wp.exe 进程占用内存高消耗CPU100%导致网站反应速度缓慢的解决方案

goolean的专栏 3395

WinDbg调试CPU占用高的问题 试验+实战 《第七篇》

WinDbg调试CPU占用高的问题 试验+实战 《第七篇》 一、High CPU试验   1、示例代码 static void Main(string[] args) { Console.Clear...

ajwqb06628的专栏 613
上一篇: 子网掩码, 网段主机数计算
下一篇: json、pickle、xml、shelve模块
weixin_30677475
博客等级 码龄11年 92粉丝 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值