w3wp与w3svc】的更多相关文章

  如何找到w3wp与w3svc的对应关系   在生产环境中,一般会有多个IIS进程在运行,这里面可能是有Web Garden的设置,也可能是有多个application pool在运行.而我们经常在c:\inetpub\logs目录下面,看到很多诸如下面的子目录 同时,我们也会在taskmgr里面看到多个w3wp,如下图 那么,pid为3780的进程,对应的iis log,是上面的w3svc哪个子目录呢? 在windows 2003年代,我们有iisweb和iisapp两个vbs脚本可以用,而…
在生产环境中,一般会有多个IIS进程在运行,这里面可能是有Web Garden的设置,也可能是有多个application pool在运行.而我们经常在c:\inetpub\logs目录下面,看到很多诸如下面的子目录 同时,我们也会在taskmgr里面看到多个w3wp,如下图 那么,pid为3780的进程,对应的iis log,是上面的w3svc哪个子目录呢? 在windows 2003年代,我们有iisweb和iisapp两个vbs脚本可以用,而从win2008之后,这两个命令已经被废弃掉了,…
IIS 请求主要模块        当客户端向 IIS 发出 HTTP 请求时,会有很多事情发生. 有许多内核模式和本机模式组件,用于将请求路由到最终响应请求的 W3WP 进程.       响应一个 HTTP 请求主要的组件:   Component Description HTTP.sys Kernel level HTTP/HTTPS protocol listener W3SVC World Wide Web Publishing Service – User level listene…
iisreset是iis自带一个命令行工具.用法: iisreset [computername] /RESTART          停止然后重新启动所有 Internet 服务. /START            启动所有 Internet 服务. /STOP             停止所有 Internet 服务. /REBOOT           重新启动计算机. /REBOOTONERROR    如果在启动.停止或重新启动 Internet 服务时出错,则重新启动计算机. /N…
一 基础知识 在分析之前,先上一张图: 从上面可以看到,这个w3wp进程占用了376M内存,启动了54个线程. 在使用windbg查看之前,看到的进程含有 *32 字样,意思是在64位机器上已32位方式运行w3wp进程.这个可以通过查看IIS Application Pool 的高级选项进行设置: 好了,接下打开Windbg看看这个w3wp进程占用了376M内存,启动的54个线程. 1. 加载 WinDbg SOS 扩展命令 .load C:\Windows\Microsoft.NET\Fram…
返回目录 最近怪事又开始发生了,IIS的应用程序池无做挂掉,都指向同一个矛头,async,threadPool,Task,还有一个System.NullReferenceException,所以这些都让我们感觉,我们的异步程序出现了问题,事实也是如此,我们的异步调用引用了对“上下文”的非空引用,最后导致w3wp进程死掉!通过其它前辈的分享,找到了问题产生的原因,大叔也总结一下1 async方法需要使用await等待它的结果,这样可以保证你的SynchronizationContext上下文不为空…
前几天有个朋友发个了在windows server 2008跑的IIS 跑的程序w3wp程序dmp,要我帮忙分析为何线程都挂起不运行 经过查阅资料用windbg可以调试可以输出线程的调用堆栈,但是准备调试之前费了不少功夫和时间 主要碰到是SOS.DLL和DMP 文件运行时候的CLR.DLL不匹配问题,那就需要从w3wp运行的机器上拷贝到对应.net版本下面的sos.dll,clr.dll,mscordacwks.dll文件 然后给windbg 加载,主要是通过.load 命令,卸载扩展DLL命令…
问题描述: 项目反馈应用负载的其中一台服务器业务操作的响应非常慢,登录该服务器发现W3WP进程CPU持续超过90%,哪怕在业务低峰期也是如此?远程查看后发现该应用服务器承载的请求确实很低,why??? 原因分析: 抓取w3wp进程的dump发现,正在运行的线程都没有我们系统的堆栈代码.并且长时间运行的工作线程的栈顶基本都是Oracle.DataAccess.Client.OracleTuningAgent.DoScan() ---->Oracle.DataAccess.Client.Oracle…
问题描述:       某二次开发的项目反馈,不定期出现应用服务器无响应的情况,登录服务器发现任务管理器中有大量的w3wp僵尸进程. 分析过程: 针对同一进程每隔15秒抓取dump,连续抓取3个,对比发现线程信息没有变化,并且每个线程的CPU时间和堆栈都没有变化,奇怪??? 以其中一个僵尸进程的dump日志为例,总计61个工作线程,其中正在运行的为15个,但我们仅能查看其中3个线程的信息. 0:000> .load d:\dumps\sos.dll 0:000> !tp CPU utiliza…
 方法1.    直接开始运行,输入cmd,再输入iisapp可以列出当前所有IIS中的WebApplication所对应的w3wp.exe进程,后面都有一个进程号标识,在VS中调试的时候附加到对应进程号的w3wp就对了,这样就不用在那么多w3wp中一个一个试.  方法2.    每次挂接的时候选择所有的w3wp进程,此法有点暴力.  方法3.   针对Windows 2008 系统,由于不再支持iisapp.vbs,所以可以使用  %windir%\system32\inetsrv\appcm…