![确定哪个应用程序池正在使用 CPU/内存](https://linux22.com/image/610652/%E7%A1%AE%E5%AE%9A%E5%93%AA%E4%B8%AA%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%B1%A0%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20CPU%2F%E5%86%85%E5%AD%98.png)
- 我们有一个包含多个网站的网络服务器。
- 每个网站都有自己的应用程序池。
- 当前所有应用程序池都使用同一域用户的身份。
当某个站点的 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 的进程的可执行详细信息将显示与您的应用程序池相对应的字符串。