CPU 平均负载

2020-02-24  本文已影响0人  癞痢头

在本文中,我们将解释 Linux 系统中最关键的管理任务之一——关于系统 / CPU 的负载load和平均负载Load average的性能监控。

首先来看所有的类 UNIX 系统中两个重要的表述:

系统负载 / CPU 负载 – 衡量 Linux 系统的 CPU 过载或利用率低的指标,即处于运算状态或等待状态的 CPU 核心数。

注意:

如何监测 Linux 系统平均负载

有诸多方式监测系统平均负载,如 uptime,它会展示系统运行时间、用户数量及平均负载:

$ uptime
07:13:53 up 8 days, 19 min,  1 user,  load average: 1.98, 2.15, 2.21

平均负载的数字从左到右的含义依次为:

高平均负载意味着系统是过载的:许多进程在等待 CPU 时间。

此外,常用的工具 top ,可以实时显示 Linux 系统的运行状态。

下一节将介绍平均负载和 CPU 核数的关系。

理解系统平均负载和 CPU 核心数的关系

考虑了 CPU 核心数的影响,才能解释系统负载。

多处理器 Vs 多核处理器

此外,Intel 引入了超线程技术用来提高并行计算能力。

通过超线程技术,在操作系统中,单个物理 CPU 表现的和两个逻辑 CPU 一样。(实际在硬件上只有一个 CPU)。

注意,单个 CPU 核同一时间只能执行一个任务,于是产生了多 CPU/处理器、多核 CPU,以及多线程技术。

多 CPU 时,多个程序可以同时执行。如今的 Intel CPU 使用了多核心和超线程技术。

可以使用 nproc 或 lscpu 命令查看系统中的处理器单元数量。

$ nproc
4
# 或者
lscpu

为了进一步理解系统负载,需要做一些假设。假设系统负载如下:

23:16:49 up  10:49,  5 user,  load average: 1.00, 0.40, 3.35

在单核系统中意味着:

在双核系统中意味着:

上一篇 下一篇

猜你喜欢

热点阅读