- 我们有一个包含多个网站的网络服务器。
- 每个网站都有自己的应用程序池。
- 当前所有应用程序池都使用同一域用户的身份。
当某个站点的 CPU 使用率开始达到 100% 时,我们无法确定是哪个站点造成的。一种解决方案是为每个站点赋予不同的身份。
有没有办法识别哪个应用程序池连接到哪个站点,而无需赋予它们不同的身份?
答案1
IIS 7.x 具有内置的工作进程视图,包括(每个 w3wp 进程):
- 应用程序池名称。
- 进程 ID。
- 状态。
- 中央处理器 %。
- 私有字节 (KB)。
- 虚拟字节 (KB)。
要访问此视图,只需:
- 打开 IIS 管理器(
inetmgr
) - 在左侧窗格中选择 Web 服务器
- 双击中心窗格中的“工作进程”功能图标
- 瞧:
答案2
从命令行以管理员身份运行 %windir%\system32\inetsrvappcmd list wp
这将显示与每个站点相关的进程 ID,您可以将其与任务管理器进行比较。
答案3
使用 MS 的 Process Explorer - 占用 CPU 的进程的可执行详细信息将显示与您的应用程序池相对应的字符串。