延伸阅读: 性能基础之CPU、物理核、逻辑核概念与关系
CPU使用率
如果我们观察在给定时间间隔内通过CPU的不同进程,则利用率百分比将表示相对于CPU执行与每个进程相对应的指令的那个时间间隔的时间部分 。但这种计算只运行的进程,而不是那些正在等待,无论它们是在队列(可运行状态)还是睡着但不可中断(例如在等待输入/输出操作的结束)被认为 。因此,这个指标可以让我们了解哪些进程最大程度地挤压CPU,但是如果系统状态过载或者未充分利用,则不能给出真实的系统状态图 。现实工作中,我们经常容易把平均负载和 CPU 使用率混淆,从上面我们知道平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数 。所以,它不仅包括正在使用 CPU 的进程,还包括等待 CPU 和等待I/O 的进程 。而 CPU使用率,从上面的解释我们知道是单位时间内繁忙程度,跟平均负载并不一定完全对应 。比如:
- CPU 密集型进程,使用大量 CPU 会导致平均负载升高,这时候两者是一致的 。
- I/O 密集型进程,等待 I/O 也会导致平均负载升高,但 CPU 使用率不一定很高 。
- 大量等待 CPU 的进程调度也会导致平均负载很高,此时的 CPU 使用率也会比较高 。
在这种情况下,我们将不得不使用替代工具,如 iostat 或 iotop,它们将指示哪些进程正在执行更多的 I/O 操作,以便我们可以杀死这些进程或为它们分配较少的优先级(nice 命令)能够为其他更关键的进程分配更多的CPU 时间 。

一些技巧系统过载并超过1.0的负载值有时不是问题,因为即使有一些延迟,CPU也会处理队列中的作业,负载将再次降低到1.0以下的值 。但是如果系统的持续负载值大于1,则意味着它无法吸收执行中的所有负载,因此其响应时间将增加,系统将变得缓慢且无响应 。高于1的高值,尤其是最后5分钟和15分钟的负载平均值是一个明显的症状,要么我们需要改进计算机的硬件,通过限制用户可以对系统的使用来节省更少的资源,或者除以多个相似节点之间的负载 。
因此,我们提出以下建议:
- >=0.70:没有任何反应,但有必要监控 CPU 负载 。如果在一段时间内保持这种状态,就必须在事情变得更糟之前进行调查 。
- >=1.00:存在问题,您必须找到并修复它,否则系统负载的主要高峰将导致您的应用程序变慢或无响应 。
- >=3.00:你的系统变得 非常慢 。甚至很难从命令行操作它来试图找出问题的原因,因此修复问题需要的时间比我们之前采取的行动要长 。你冒的风险是系统会更饱和并且肯定会崩溃 。
- >=5.00:你可能无法恢复系统 。你可以等待奇迹自发降低负载,或者如果你知道发生了什么并且可以负担得起,你可以在控制台中启动 kill -9 <process_name> 之类的命令 ,并祈求它运行在某些时候,以减轻系统负荷并重新获得其控制权 。否则,你肯定别无选择,只能重新启动计算机 。
推荐阅读
- ip代理是怎么做出来的 代理ip有什么用
- 怎样选择电热水壶呢
- 电热水壶烧的开水真的对人们健康有影响吗
- 我们要明白哪些电热水壶是有问题的
- 喝电水壶烧开的水对健康有影响吗
- 长期喝电热水壶烧的开水对健康有影响吗
- 每天喝电热水壶烧得水真的会有什么危害吗
- 长期喝电热水器烧的开水对健康有影响吗
- 长期喝电热水壶烧的开水对我们的健康有影响吗
- 长期喝电热水壶烧的对身体健康有哪些影响
