首先来看所有的类 UNIX 系统中两个重要的表述:
· 系统负载/ CPU 负载 ------衡量 Linux 系统的 CPU 过载或利用率低的指标,即处于运算状态或等待状态的 CPU 核心数。
· 平均负载 ------通过固定的时间周期如 1、5、15 分钟计算出的平均的系统负载。
Linux 中,平均负载一般指在内核运行队列中被标记为运行或不可打断状态的进程的平均数。
注意:
· 几乎没有Linux 或类 Unix 系统不为用户展示平均负载的值。
· 完全空闲的 Linux 系统平均负载为 0,不包括空闲进程。
· 绝大多数类 Unix 系统只统计运行和等待状态的进程。但是在 Linux 中,平均负载也包括处于不可打断的睡眠状态的进程——它们是在等待其它系统资源如磁盘 I/O 等的进程。
监控Linux系统的平均负载
· uptime 它会展示系统运行时间、用户数量及平均负载
平均负载的数字从左到右的含义依次为:
·最近 1分钟的平均负载为 1.98
·最近 5分钟的平均负载为 2.15
·最近15 分钟的平均负载为 2.21
高平均负载意味着系统是过载的:许多进程在等待 CPU 时间。
系统平均负载和 CPU 核心数的关系
考虑了 CPU 核心数的影响,才能解释系统负载。
多处理器Vs 多核处理器
·多处理器------一个计算机系统中集成两个或多个物理 CPU
·多核处理器------ 单个物理 CPU 有两个或多个单独的核并行工作(也叫处理单元)。双核意味着有两个处理单元,4 核有 4 个处理单元,以此类推。
此外,Intel 引入了超线程技术用来提高并行计算能力。
通过超线程技术,在操作系统中,单个物理 CPU 表现的和两个逻辑 CPU 一样。(实际在硬件上只有一个 CPU)。
注意,单个 CPU 核同一时间只能执行一个任务,于是产生了多 CPU/处理器、多核 CPU,以及多线程技术。
多 CPU 时,多个程序可以同时执行。如今的 Intel CPU 使用了多核心和超线程技术。
可以使用 nproc 或 lscpu 命令查看系统中的处理器单元数量。也可以使用grep命令查看CPU的单元数量