![什么时候持续 100% 的 CPU 利用率不必担心?](https://linux22.com/image/504443/%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E6%8C%81%E7%BB%AD%20100%25%20%E7%9A%84%20CPU%20%E5%88%A9%E7%94%A8%E7%8E%87%E4%B8%8D%E5%BF%85%E6%8B%85%E5%BF%83%EF%BC%9F.png)
请帮助完善我们商店中正在进行的讨论。
请考虑以下场景。有一个 Microsoft VPC 正在运行多个应用程序和服务(Windows 2003 服务器)。该服务器有两个或三个关键角色。CPU 利用率时常持续达到 100%。其中一个罪魁祸首是遗留应用程序,目前唯一真正的解决方案是重新启动服务。此后,CPU 利用率会恢复到合理水平(平均 60-80%)。然而,较少见的是,当服务器的 CPU 利用率为 100% 时,另一个服务似乎正在使用大部分资源,即解析日志的安全应用程序。当 CPU 达到上限时,我们的运营团队会立即重新启动该服务。我们的安全团队指出,这毫无意义,因为此服务以 BelowNormal 优先级运行,因此实际上它不会剥夺任何其他进程的 CPU。安全部门认为,在这些情况下,100% 的 CPU 使用率实际上不应被视为关键情况。如果 BelowNormal 优先级进程正在使用大部分 CPU,那么实际上根本没有 CPU 不足。另一方面,运营部门对 100% CPU 利用率是否真的是一种没有不良后果的情况持怀疑态度,并且不想忽略它。谁是对的?是安全部门说没什么可担心的,还是运营部门说我们应该做点什么?
答案1
答案2
您如何测量 CPU%?如果这是虚拟机,Perfmon 可能并不总是提供准确的结果。峰值是否可能与主机上的活动有关?病毒扫描、自动更新程序和许多其他因素都可能影响客户虚拟机,并使其从虚拟机的角度来看看起来像是 100% CPU,但它可能是更小的 CPU 切片的 100%。
答案3
处理大量日志数据应该会占用大量 CPU。如果没有,那么您的进程很可能是 IO 受限的。只要处理完成后计量表下降(并且机器在占用大量 CPU 时能够合理地响应其他任务),就无需担心。