`

关于CPU利用率和Load Average负载

 
阅读更多

说明:本文引自放翁(文初)的一亩三分地,写的不错,通俗易懂和大家分享下....

CPU利用率在过去常常被我们这些外行认为是判断机器是否已经到了满负荷的一个标准,看到50%-60%的使用率就认为机器就已经压到了临界了。CPU利用率,顾名思义就是对于CPU的使用状况,这是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况,如果被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作,长期超负荷运作对于机器本身来说是一种损害,因此必须将CPU的利用率控制在一定的比例下,以保证机器的正常运作。

Load AverageCPULoad,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。为什么要统计这个信息,这个信息的对于压力测试的影响究竟是怎么样的,那就通过一个类比来解释CPU利用率和Load Average的区别以及对于压力测试的指导意义。

我们将CPU就类比为电话亭,每一个进程都是一个需要打电话的人。现在一共有4个电话亭(就好比我们的机器有4核),有10个人需要打电话。现在使用电话的规则是管理员会按照顺序给每一个人轮流分配1分钟的使用电话时间,如果使用者在1分钟内使用完毕,那么可以立刻将电话使用权返还给管理员,如果到了1分钟电话使用者还没有使用完毕,那么需要重新排队,等待再次分配使用

 

 

上图中对于使用电话的用户又作了一次分类,1min的代表这些使用者占用电话时间小于等于1min2min表示使用者占用电话时间小于等于2min,以此类推。根据电话使用规则,1min的用户只需要得到一次分配即可完成通话,而其他两类用户需要排队两次到三次。
电话的利用率 = sum (active use cpu time)/period
每一个分配到电话的使用者使用电话时间的总和去除以统计的时间段。这里需要注意的是是使用电话的时间总和(sum(active use cpu time)),这与占用时间的总和(sum(occupy cpu time))是有区别的。(例如一个用户得到了一分钟的使用权,在10秒钟内打了电话,然后去查询号码本花了20秒钟,再用剩下的30秒打了另一个电话,那么占用了电话1分钟,实际只是使用了40秒)
电话的Average Load体现的是在某一统计时间段内,所有使用电话的人加上等待电话分配的人一个平均统计。


电话利用率的统计能够反映的是电话被使用的情况,当电话长期处于被使用而没有的到足够的时间休息间歇,那么对于电话硬件来说是一种超负荷的运作,需要调整使用频度。而电话Average Load却从另一个角度来展现对于电话使用状态的描述,Average Load越高说明对于电话资源的竞争越激烈,电话资源比较短缺。对于资源的申请和维护其实也是需要很大的成本,所以在这种高Average Load的情况下电话资源的长期“热竞争”也是对于硬件的一种损害。

低利用率的情况下是否会有高Load Average的情况产生呢?理解占有时间和使用时间就可以知道,当分配时间片以后,是否使用完全取决于使用者,因此完全可能出现低利用率高Load Average的情况。由此来看,仅仅从CPU的使用率来判断CPU是否处于一种超负荷的工作状态还是不够的,必须结合Load Average来全局的看CPU的使用情况和申请情况。


所以回过头来再看测试部对于Load Average的要求,在我们机器为8CPU的情况下,控制在10 Load左右,也就是每一个CPU正在处理一个请求,同时还有2个在等待处理。看了看网上很多人的介绍一般来说Load简单的计算就是2* CPU个数减去1-2左右(这个只是网上看来的,未必是一个标准)。

  • 大小: 7.2 KB
分享到:
评论

相关推荐

    Linux下获得CPU利用率和内存使用情况

    "Linux系统中获得CPU利用率和内存使用情况" 知识点: 1.Linux系统中的/proc目录:Linux系统中的/proc目录是一个虚拟文件系统,提供了对系统硬件和软件的信息。在这个目录中,我们可以找到关于系统的各种信息,如...

    压力测试衡量CPU的三个指标

    CPU Utilization是指CPU的利用率,也就是CPU当前的工作负载。一般来说,CPU Utilization超过75%就算高了,有些情况下甚至达到80%以上。 CPU Utilization高并不一定是坏事,但需要结合其他指标来判断。 Load Average...

    UNIX Load Average Part 1

    在深入探讨UNIX系统中的负载平均值(Load Average)之前,我们需要了解一些基础知识。首先,负载平均值并不是一个UNIX命令,它更像一个嵌入式的度量指标,通常显示在像uptime和procinfo这样的其他UNIX命令的输出中。...

    Linux top命令 load average 参数的衡量标准

    在输入查看可用的CPU核数命令,获得12时,意味着本系统可用CPU核数12...系统负载/CPU负载–是Linux系统中CPU利用率过高或过低的度量;CPU正在执行或处于等待状态的进程数。 平均负载(load average)-是在给定的1、5和1

    JAVA面试问题,继续

    CPU 负载(Load Average)和 CPU 利用率(CPU Usage)是两个不同的概念。CPU 负载指的是系统当前正在运行和等待运行的进程数之和,而 CPU 利用率则是当前正在运行的进程实时占用 CPU 的百分比。 Linux 指令应用 ...

    unix/linux loadagv的原理详解

    本文将深入探讨Load Average的工作原理,并解析其计算方式,帮助你更好地理解和利用这一信息。 **1. Load Average的基本概念** Load Average是指在特定时间间隔内,系统处于活动状态(包括运行和等待CPU资源)的...

    详解Linux CPU负载和CPU使用率

    在Linux系统中,CPU负载和CPU使用率是评估系统性能的两个重要指标,它们可以帮助我们了解系统的繁忙程度和资源利用状况。本文将深入探讨这两个概念及其关系。 **CPU使用率**指的是CPU在一段时间内用于执行任务的...

    在Linux系统中使用w命令和uptime命令查看系统负载.pdf

    在示例中,我们可以看到系统在14:51:15的时候已经运行了62天10分钟,平均负载为0.02, 0.01, 0.00,这表明系统处于较为轻松的状态,CPU资源利用率低。 理解load average的关键在于,当这些值长时间超过系统的逻辑CPU...

    如何借助Sigar API获取CPU相关信息

    System.out.println("CPU核心 " + cpu.getIndex() + " 的利用率:" + cpu.getCombined()); } } catch (SigarException e) { e.printStackTrace(); } ``` 5. 获取CPU负载平均值: ```java try { LoadAverage load...

    Linux系统cpu,内存高负载排查-云主机-产品文档-帮助文档-京东云.pdf

    对于CPU使用率低但负载高的情况,问题可能出在“负载平均”(load average)上。负载平均值反映了在一段时间内系统中平均有多少任务在等待CPU处理。如果系统空闲,但负载平均值很高,这可能意味着存在僵死进程(D...

    01-cpu性能优化.pptx

    例如,`load average: 0.63, 0.83, 0.88`这组数据表明系统在过去的一分钟、五分钟和十五分钟内的平均负载分别是0.63、0.83和0.88。理想的平均负载应该接近CPU的核心数,如果负载持续高于CPU核心数的70%,则可能表明...

    Linux性能指标含义及参考范围

    下面,我们将详细解析几个核心性能指标,包括CPU利用率、平均负载、分页率、交换率以及磁盘和网络活动率等。 ### CPU Utilization(CPU利用率) #### CPU Utilization CPU利用率指的是CPU在单位时间内被占用的...

    Linux服务器CPU的一些主要指标说明.pdf

    本文主要探讨了CPU利用率、平均负载、进程状态、中断率等核心概念。 首先,CPU利用率(CPU Utilization)是衡量CPU繁忙程度的重要参数,它表示CPU在特定时间内用于执行任务的比例。当CPU利用率超过75%,表明系统...

    分析cpu使用情况的方法-linux查看cpu使用情况.docx

    10. **平均负载(load average)**:过去一段时间内(如1分钟、5分钟、15分钟)平均活跃进程数量,反映了系统的整体负载。 当CPU资源成为系统性能瓶颈时,可能出现以下症状: - 响应时间变慢 - CPU空闲时间为零 - ...

    分析cpu使用情况的方法-linux查看cpu使用情况.pdf

    8. **平均负载(load average)**:过去一段时间内,系统平均活跃进程数的统计,反映了系统处理任务的压力。 当CPU资源成为系统性能瓶颈时,常见的症状包括响应时间变慢、CPU空闲时间接近0、用户和系统CPU占用率过...

    system-load-generator:生成不同类型的系统负载

    -CPU负载生成器,它将计算机的CPU利用率从1%不断提高到100%。 有关更多信息,请参见 。 平均负载分钟的平均负载会不断增加平均负载。 有关更多信息,请参见 。 使用内存压力生成CPU负载。 有关更多信息,请参见 ...

    Linux操作系统相关指标监控技术

    首先,CPU利用率是衡量系统繁忙程度的重要指标。它分为用户空间CPU使用率(user)、内核空间CPU使用率(sys)以及空闲时间(idle)。通过命令`top`或`vmstat`可以实时查看这些数据。当用户空间CPU使用率过高时,可能...

    查询系统负载信息 Linux 命令详解.docx

    `top`命令则提供更详细的实时系统资源使用情况,包括CPU和内存利用率。在`top`输出中,你可以看到每个CPU核心的使用情况,如"Tasks: 29 total, 1 running, 28 sleeping, 0 stopped, 0 zombie",以及CPU各项状态的...

    Linux性能参数.doc

    磁盘的读写速度、I/O等待时间和错误计数,以及系统负载平均值(load average)能够反映出系统处理请求的能力和磁盘健康状况。 了解和监控这些Linux性能参数,有助于我们优化系统配置,提升运行效率,及时发现和解决...

Global site tag (gtag.js) - Google Analytics