![CPU 使用率何时开始影响用户或服务?](https://linux22.com/image/1483497/CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E4%BD%95%E6%97%B6%E5%BC%80%E5%A7%8B%E5%BD%B1%E5%93%8D%E7%94%A8%E6%88%B7%E6%88%96%E6%9C%8D%E5%8A%A1%EF%BC%9F.png)
我从事服务器工作,现在开始更加关注服务器性能监控。
最近我遇到的一些应用程序开发人员声称,当 CPU 使用率达到 75% 左右时,Windows/Linux 服务及其应用程序(Web 服务、文件服务器、数学应用程序、BI、数据库等)开始遭受相当大的处理能力损失,即使还剩下 25% 的处理能力。
CPU 占用达到 75% 之后真的会对应用程序的性能产生影响吗?
答案1
使用防病毒软件时,您可能受 IO 限制而不是 CPU 限制。在这种情况下,任何需要额外 IO 资源的进程很可能运行得更慢。即使您的 CPU 被 100% 使用,您也不一定注意到任何减速,这取决于调度程序和正在运行的进程的优先级。
但是让我们想象一下所有进程都完全受 CPU 限制的情况。根本没有发生 IO,没有异常中断等。此外,让我们想象一个 CPU。在这种情况下,如果您的 CPU 占用率为 75%,您绝对可以使用另外 25% 的 CPU 来处理来自用户的呼叫。延迟会比 CPU 完全未使用时略高;每个上下文切换成本数万纳秒。但这不过是毫秒的几分之一。
但请注意,许多进程确实会使用大量 IO 资源。如果有两个进程争夺 IO 资源,您可能会注意到速度明显减慢。使用 SSD 而不是机械驱动器将大有帮助。您还可以选择不同的 IO 调度程序,至少在 Linux 上是这样。