如何理解CPU负载以及分析

您所在的位置:网站首页 查看gpu运行状态的软件叫什么 如何理解CPU负载以及分析

如何理解CPU负载以及分析

2024-07-13 17:25| 来源: 网络整理| 查看: 265

Cpu负载(load average)介绍

平均负载是指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数,它和 CPU 使用率并没有直接关系。所谓可运行状态的进程,是指正在使用 CPU 或者正在等待 CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态(Running 或 Runnable)的进程。不可中断状态的进程则是正处于内核态关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备的 I/O 响应,也就是我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。比如,当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是不能被其他进程或者中断打断的,这个时候的进程就处于不可中断状态。如果此时的进程被打断了,就容易出现磁盘数据与进程数据不一致的问题。所以,不可中断状态实际上是系统对进程和硬件设备的一种保护机制。因此,你可以简单理解为,平均负载其实就是平均活跃进程数。平均活跃进程数,直观上的理解就是单位时间内的活跃进程数,但它实际上是活跃进程数的指数衰减平均值。这个“指数衰减平均”的详细含义你不用计较,这只是系统的一种更快速的计算方式,你把它直接当成活跃进程数的平均值也没问题。既然平均的是活跃进程数,那么最理想的,就是每个 CPU 上都刚好运行着一个进程,这样每个 CPU 都得到了充分利用。比如当平均负载为 2 时,意味着什么呢?在只有 2 个 CPU 的系统上,意味着所有的 CPU 都刚好被完全占用。在 4 个 CPU 的系统上,意味着 CPU 有 50% 的空闲。而在只有 1 个 CPU 的系统中,则意味着有一半的进程竞争不到 CPU。

负载查看方法:

w:查看能查到在线信息和负载情况

uptime:能查到负载信息、

top:除了查看负载以外,还能动态查看其他很多性能信息,比如进程 cpu 使用率、内存使用信息、进程状态等

load average:1分钟负载,5分钟负载,15分钟负载

实际上,都要看。三个不同时间间隔的平均值,其实给我们提供了,分析系统负载趋势的数据来源,让我们能更全面、更立体地理解目前的负载状况。打个比方,就像初秋时北京的天气,如果只看中午的温度,你可能以为还在 7 月份的大夏天呢。但如果你结合了早上、中午、晚上三个时间点的温度来看,基本就可以全方位了解这一天的天气情况了。同样的,前面说到的 CPU 的三个负载时间段也是这个道理。

[root@k8sm01 ~]# w 10:59:03 up 1 min, 1 user, load average: 0.94, 0.48, 0.18 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 10.0.2.218 10:58 7.00s 0.04s 0.00s w ———————————————————————————————— [root@k8sm01 ~]# uptime 10:59:12 up 1 min, 1 user, load average: 0.80, 0.46, 0.18 ———————————————————————————————— [root@k8sm01 ~]# top top - 10:59:26 up 1 min, 1 user, load average: 0.62, 0.44, 0.17 Tasks: 124 total, 1 running, 123 sleeping, 0 stopped, 0 zombie %Cpu(s): 3.1 us, 0.0 sy, 0.0 ni, 96.9 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 3861372 total, 3217472 free, 250288 used, 393612 buff/cache KiB Swap: 0 total, 0 free, 0 used. 3378012 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root 20 0 126132 4588 2580 S 0.0 0.1 0:03.03 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 合理负载判定:

个人认为,只要不要超过标准负载的70%就可以说明我们服务器是正常的,比如负载=N。CPU个数=C。通过以下公式得到你的负载处于什么阶段:

0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3