给定 PID 获取 IIS 7 工作进程号

给定 PID 获取 IIS 7 工作进程号

我正在尝试将 IIS 工作进程的性能计数器添加到性能监视器中的收集数据集中。

我知道工作进程的进程 ID (PID)(一个 4 位数字)。但是,在数据收集集的配置中,IIS 工作进程以从 1 到已配置工作进程数的数字形式列出。它们的格式为 w3wp#1、w3wp#2、w3wp#3 等。

举个例子,如果我感兴趣的 PID 是 3865,我如何在性能监视器中找出 w3wp# 是什么?

答案1

看来你必须编辑注册表才能暴露这一点(小心)

单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。找到并单击以下注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance

  1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
  2. 找到并单击以下注册表子项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PerfProc\Performance
  3. 在“编辑”菜单上,单击“新建”,然后单击“DWORD 值”。
  4. 右键单击“新值 #1”,单击“重命名”,然后键入 ProcessNameFormat 来命名新值
  5. 右键单击 ProcessNameFormat,然后单击“修改”。
  6. 在“数据值”框中,键入下列值之一,然后单击“确定”:
  7. 1:禁用 PID 数据。此值为默认值。
  8. 2:启用PID数据。
  9. 退出注册表编辑器。

这解决了你所遇到的问题,它们的格式是 w3wp#1、w3wp#2、w3wp#3

现在将采用以下格式

它们的 PID 现在将采用以下格式:w3wp3865、w3wp2325、w3wp2154

并且您可以添加一个性能计数器来明确查找您要查找的内容,正如您询问 w3wp3865 的那样

https://blogs.technet.microsoft.com/askperf/2010/03/29/perfmon-identifying-processes-by-pid-instead-of-instance/

作为替代方案,sysinternals perfmon.exe 应该能够获取性能信息(如果不是更多的话),而无需更改注册表。但我不确定它是否是您需要的确切详细信息。

答案2

进程计数器之一是进程 ID。使用该计数器将您的进程与 w3wp#N 关联起来。请注意,这可能会因示例而异,例如,当进程终止或启动时。最好遵循有关设置 ProcessNameFormat=2 的说明。

相关内容