我有一个带有第三方应用程序的四核系统,它偶尔会旋转几个进程(总是相同的可执行文件,但它有几个实例)并占用 100% 的 CPU 时间。我还在同一个盒子(IIS 和第三方)上运行了几个 Web 服务。
所有核心都忙的问题是它使这个第三方 Web 服务器超时(IIS 工作正常,只是比平时慢)。我无法控制第三方网络服务器,它是更大产品的一部分并且必须能够运行。因此,我尝试使用处理器亲和性(通过 SysInternals Process Explorer)并将那些讨厌的进程限制为 4 个内核中的 3 个内核,并将第 4 个内核专用于第三方 Web 服务器,它似乎工作得很好。
问题是它只在正在运行的进程上设置亲和力,而不是在可执行级别上,所以在这些进程完成并稍后作为新进程重生之后,它又是一样的——它们占用了所有 4 个内核。因此,我在 Google 上搜索了 Microsoft 提供的这个 ImageCfg.exe 实用程序,但我无法在 Microsoft 网站上找到它以供下载,我看到有些人尝试过它,但现在抱怨它并没有真正起作用。
有没有办法将亲和力与可执行文件联系起来?