4

我有一个带有六个应用程序池的网络服务器。当我想在 PerfMon 中为特定的 ASP.NET 应用程序添加计数器时,可用的实例具有非常不同的名称。

例如,我有一个名为“FrontEnd”的应用程序池,这些是可用的实例:

_LM_W3SVC_1_Root_bookeline
_LM_W3SVC_1_Root_CredentialsService
_LM_W3SVC_1_Root_pReports
_LM_W3SVC_1130837766_Root
_LM_W3SVC_1147758436_Root
_LM_W3SVC_1254277584_Root
_LM_W3SVC_1366866887_Root
_LM_W3SVC_1505760911_Root
_LM_W3SVC_1604538730_Root
_LM_W3SVC_1618350214_Root
_LM_W3SVC_175082253_Root
_LM_W3SVC_177047044_Root
_LM_W3SVC_1825997120_ROOT
_LM_W3SVC_1966585210_Root
_LM_W3SVC_204756873_Root
_LM_W3SVC_261753984_Root
_LM_W3SVC_3_ROOT
_LM_W3SVC_315617261_Root
_LM_W3SVC_36575378_Root
_LM_W3SVC_575979470_Root
_LM_W3SVC_831033229_Root
_LM_W3SVC_940052100_Root

一位同事提出了一个巧妙的技巧,即通过创建一个小的 .bat 文件来匹配应用程序池和进程 ID:

c:\windows\system32\cscript.exe c:\windows\system32\iisapp.vbs
暂停

但是,这些 ID 似乎也与实例没有任何关系。

我在这里有什么误解?

4

3 回答 3

2

仔细查看您的实例名称:这里的_LM_W3SVC_1147758436_Root数字1147758436是您的应用程序标识符,可以在 IIS 管理器中找到。

在此处输入图像描述

好消息是这个标识符在应用程序、iis 或服务器重启后不会改变,这与 PID 不同

于 2013-11-13T10:29:43.357 回答
0

我们使用来自 SysInternals 的名为 BGInfo 的实用程序。

http://technet.microsoft.com/en-us/sysinternals/bb897557

您可以对其进行配置以显示您的 AppPools 和关联的进程 ID。查看此屏幕截图(来自服务器的背景)。

带有 BGInfo 的服务器屏幕截图

@arcain指出我们正在使用自定义配置来让 BGInfo 打印应用程序池。这里是。

Host Name:  <Host Name>
User Name:  <User Name>
Boot Time:  <Boot Time>
Snapshot Time:  <Snapshot Time>

IP Address: <IP Address>
Subnet Mask:    <Subnet Mask>
Default Gateway:    <Default Gateway>
DNS Server: <DNS Server>
MAC Address:    <MAC Address>


Volumes:    <Volumes>
Free Space: <Free Space>

IIS App Pools:  <IIS App Pools>

IE Version: <IE Version>

CPU:    <CPU>
Memory: <Memory>
Network Card:   <Network Card>
Network Speed:  <Network Speed>
OS Version: <OS Version>
Service Pack:   <Service Pack>
System Type:    <System Type>
于 2011-05-26T16:44:08.933 回答
0

使用Process Explorer,将鼠标悬停在 w3wp.exe 进程上,您将看到以应用程序池名称启动它的命令行。显示进程名称的同一视图具有 pid 来验证 perfmon 显示的内容。

于 2017-04-07T19:43:40.843 回答