问题标签 [w3wp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1441 浏览

asp.net - 是否可以更改每个应用程序池的 w3wp.exe 的名称?

是否可以更改某个应用程序池的 w3wp.exe 的名称?我正在使用 Windows 7 的 IIS 7.5。

当我开始调试时,很难区分进程(因为它们都称为 w3wp.exe)。如果我可以更改进程的名称,那就太好了。

这是我在 Visual Studio 中看到的:

在此处输入图像描述

0 投票
1 回答
281 浏览

cpu-usage - W3wp hih cpu 使用率和不存在的网页

当我尝试在我们的网站上显示一个不存在的页面时,w3wp.exe 进程使用 13% 的 cpu 并保持在该级别。每增加一个不存在的页面请求,就会额外使用 13% 的 CPU。当然,在多次请求之后,总 cpu 使用率高达 95-100%,站点变得无法使用。

我终止了 w3wp.exe 进程,一切恢复正常。一段时间后,几个随机用户转到不存在的页面,cpu 再次上升到 100%。

在研究这个问题时,我偶然发现了 web.config httperrors 部分被锁定并可能导致问题的想法。我和我的托管公司技术人员尝试了这篇文章中的建议:http ://forums.iis.net/p/1159721/1912266.aspx 。这些建议都没有解决问题。

我查看了 IIS 中的 Worker Processe,但什么也没告诉我。

我查看了失败的请求跟踪,但这也没有帮助。

显然,我正在寻找有关如何诊断和解决此问题的任何其他建议。

谢谢,

埃德

0 投票
3 回答
266 浏览

asp.net - 哪些 Asp.net 异常可以做什么?

如果我写这段代码

我得到一个错误(无限递归):

在此处输入图像描述

并且该w3wp.exe过程从 终止task manager

美好的...

但是,如果我这样做:

它仅出现在常规异常页面中。( w3wp.exe 仍在运行)。

问题 :

  • 什么样的异常导致w3wp.exe关闭?
  • 什么样的异常导致应用程序池关闭?

ps 根据我刚才写的,请考虑以下场景:我可以编写一个网页,将我的站点托管在一个站点群中,并且我可以通过创建递归来终止整个w3wp.exe进程..... (其他人也会有麻烦)...

你能回答我的问题吗?

谢谢。

0 投票
2 回答
1730 浏览

asp.net - W3WP 运行缓慢

我对 W3WP 进程(IIS 工作进程)有一个非常不寻常的问题。它没有从我的 CPU 中占用足够的内存来运行得更快。它正在影响我的开发工作,因为它需要很长时间才能建立一个本地网站。当我从我的本地主机启动网站时,W3WP 从大约 50MB 开始,需要将近 10 分钟才能达到 100MB。

有没有办法让 W3WP 运行得更胖?

我正在使用具有 8GB RAM 的 64 位 3.4GHZ 四核 i5 CPU。操作系统 Windows 7 企业版。

0 投票
0 回答
762 浏览

multithreading - IIS 服务器 w3wp 进程高非分页池和线程导致性能不佳

我有 6 个包含相同内容的“相同”x64 IIS6 服务器。偶尔在我们观察到运行缓慢的一台或多台服务器上,加载一个简单的 html 页面可能需要大约 20 秒。

当这种情况发生时,我们可以看到线程增加到 300(通常为 80)和非分页池 1000k(通常为 200k)。

看不出有什么不同,即其他进程、磁盘 I/O。

网络计数器似乎转移了较少的数据,但我说这是有症状的。

任何人都知道什么会导致高非分页池?这是 x64 服务器,也许我找错地方了

0 投票
0 回答
437 浏览

asp.net - 迁移到 Win 2008 后 w3wp 中的堆栈溢出

我们已将 ASP.NET 4 应用程序迁移到新服务器 (2008 R2) 并受到令人讨厌的生产问题的困扰 - ASP.NET 工作进程中偶尔出现堆栈溢出。

这些记录在事件日志中:

有时故障模块是 MSVCR100_CLR0400.dll,它来自 VC++ 可再发行组件 - 但我认为 C++ 没有在项目中的任何地方使用过

Windows 已经很好地记录了在 Visual Studio 中打开的转储。它抱怨“没有为 w3wp.exe 加载符号”,所以我只有在尝试调试时才设法进行反汇编,而调用堆栈只是一个条目:

clr.dll!000007fef9afd01b()

这是在故障模块是 clr.dll 的情况下。另一种异常情况,当模块为MSVCR100_CLR0400.dll时:

MSVCR100_CLR0400.dll!000007fef9a3c9fa()
[Frames below may be incorrect and/or missing, no symbols loaded for MSVCR100_CLR0400.dll] MSVCR100_CLR0400.dll!000007fef9a57fcb()
MSVCR100_CLR0400.dll!000007fef9a33ee4()
MSVCR100_CLR0400.dll!000007fef9a33f5d()
clr.dll !000007fef9b05a08()

看起来相当有说服力的是,错误不是来自我的代码,而是来自 CLR / ASP.NET 内部——我整理了一个测试应用程序,通过无限递归强制堆栈溢出。我得到了转储,在 VS 中分析它,当我调试时,我点击了递归调用的确切行。

另一方面,故障出现在应用程序中的特定行,因此不是随机效应——但也不是每次,只是偶尔,并且从未在生产环境之外重现。

这也不是并发问题——它只记录了 1 个在线用户。

不用说,我已经尝试了基本的故障排除技术 - 到处尝试捕捉,在每一行之后记录,Application_Error - 什么都没有。执行只是在某个时候停止,我在 Windows 日志中收到错误条目

应用程序池处于集成模式,在为此目的创建的服务帐户下运行。

0 投票
0 回答
1535 浏览

asp.net - w3wp.exe 中 0x ... 处未处理的异常:0x ...:堆已损坏

我正在 Visual Studio 2012 中构建一个项目。当我按下F5运行该应用程序时,它工作得很好,但是当我在我的 Windows Pro 机器上的 IIS7 中加载它时,我第一次调用特定的代码库,我收到以下错误。

线程“Win32 线程”(0x4d8) 已退出,代码为 0 (0x0)。

w3wp.exe 中 0x7797e6c3 处的未处理异常:0xC0000374:堆已损坏。

w3wp.exe 中 0x778e32a0 处的第一次机会异常:0xC0000005:访问冲突读取位置 0x2039a9f2。

w3wp.exe 中 0x778e32a0 处未处理的异常:0xC0000005:访问冲突读取位置 0x2039a9f2。

现在我已经w3wp.exe将 VS2012 调试器附加到了,但老实说,我不确定如何调试这种类型的崩溃。

作为参考,在 WebAPI 控制器中调用的代码库调用 ActiveHome SDK 以控制一些自动化位。

注意:我正在编译所有内容以使用 x86

0 投票
2 回答
4015 浏览

visual-studio-2012 - 在 Visual Studio 2012 中调试 WCF 服务

如何判断我的哪些服务是我要调试的服务?

使用 Visual Studio 2010 调试器,我只需查找在运行我的服务的应用程序池用户名下运行的 w3wp(或者不管它是什么)。

但是现在在我的附加到进程窗口中,我有 3 个 msvmnon.exe 进程并且我没有看到任何 wcf 服务正在运行?我错过了什么?

在此处输入图像描述

0 投票
0 回答
317 浏览

.net - WCF 调用 WSDL 会为 w3wp 进程创建大量内存消耗

我们已经部署了一个非常大的 WCF 服务,其中包含很多合同和功能。

该服务从具有 IIS 7 上唯一应用程序池的独立服务器运行。

该服务被配置为按调用服务,并且没有初始化静态实例,服务中根本没有非托管对象。

最近我们注意到该服务消耗了几乎所有的服务器空闲 RAM。

从我们所做的测试来看,主要的内存使用是在第一次调用服务时,甚至不是通过调用任何方法,而只是调用它的 WSDL。

只要应用程序运行,此内存就不会被释放。

我们认为这会导致性能问题,使我们的服务无响应。

我怎样才能进一步测试这个问题?我还应该检查或隔离什么才能查明真相?

0 投票
1 回答
1461 浏览

azure - 识别 Web 角色实例的关联 w3wp 进程

我正在监视 Azure 服务的性能。

当前有两个 Web 角色实例(用于同一网站)正在运行 - 每个都有自己的 W3WP.exe(w3wp 和 w3wp#1)

如何找出哪个 w3wp 进程属于哪个角色实例?

有了这些信息,我想为 azure.diagnostics.monitor 提供一些性能计数器 - 即 Process(w3wp)\ProcessorTime (%) 和线程计数。但为了获得任何有意义的数据,我必须将 w3wp 进程的进程 ID 附加到性能计数器(例如 Process(w3wp_PID)\processorTime(%)) - 不知道语法是否正确,但有一种方法可以附加PID)

因此 AzureStorage 表 WADPerformanceCounters 中的最终结果只有以下条目:

自动取款机

我想:如果我为每个角色启动了一个 DiagnosticsMonitor,那么监视器将使用正确的进程——属于启动监视器的角色实例。但实际上这不起作用 - 或者我认为它不起作用 - 至少在查看结果值之后。

//更新:在 manage.windowsazure 门户上,您可以为性能监控定义自定义指标。此处可以选择要独占监控的 webrole 实例。这也是我想做的。了解此页面的实际作用也可能有所帮助。

比较: http: //puu.sh/1xp7q

我能想到的获取此信息的唯一愚蠢方法是:在每个 w3wp 启动之前和之后获取所有进程的列表 - 确定添加了哪个进程,然后根据代码库上下文决定哪个角色实例刚刚启动。