需求场景:
       新入职公司,需要监控方案,于是先把zabbix里有关OS模块的监控项全部列出来,并一个一个去研究具体的代表的意思;发现其他的都很容易理解,只要有关CPU监控的就难以理解。于是花了一点时间学习一下,找到一篇比较好的博文,然后根据他写的跟我自己理解的总结成文。
       
       博文地址:http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages   (这个看着更有意思,自己翻译出来没有那个感觉)
 
重点参数:
        load average: 0.01, 0.07, 0.07
 
疑问:
1)这个值代表的是什么意思
2)这个值多大代表负载高
3)这个值达到多少该告警
 
 
一、查看此平均负载值可使用的方法
 
1)top命令
[root@rilo ~]# top
top - :: up days, :, users, load average: 0.00, 0.02, 0.05
Tasks: total, running, sleeping, stopped, zombie
%Cpu(s): 0.7 us, 0.3 sy, 0.0 ni, 98.0 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : total, free, used, buff/cache
KiB Swap: total, free, used. avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
root S 0.3 0.0 :16.01 jbd2/vda1-
root R 0.3 0.2 :00.01 top
mysql S 0.3 29.0 :10.60 mysqld
 
2)uptime命令
[root@rilo ~]# uptime
:: up days, :, users, load average: 0.04, 0.10, 0.07
3)w命令
[root@rilo ~]# w
:: up days, :, users, load average: 0.01, 0.07, 0.07
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/ 202.104.136.232 Mon09 :21m .24s .24s -bash
root pts/ 112.95.38.6 : .00s .00s .00s w

二、这三个值分别所代表的意思

load average: 0.04, 0.10, 0.07    这三个值分别对应系统在1分钟5分钟15分钟内的平均负载值;

这个数值越低越好,数值高的话代表系统有问题或者机器负载高。但是门槛是什么呢,如何区分什么是好什么是坏的平均负载值呢?什么样的平均负载值需要我们关注,什么样的平均负载值需要我们及时去排查问题?

 
 
三、相关背景(交通的类比)
 
单核处理器的情况:
 
一个单核CPU就如一条单向的公路,假设你是一个桥梁上的交通指挥员,有时候桥上很忙汽车都排成一列通过。然后你想让别人知道桥梁上的交通情况,一个比较好的衡量标准是有多少汽车在等待在特定的时间内。如果没有汽车在等待,过来的司机知道过来就可以通过。如果汽车有在等待,过来的司机就知道他们得排队才能通过。
 
所以交通指挥员,使用一套数字标识系统:
1)0.00 表示没有车在桥上,实际上,0.00到1.00之间表示没有汽车在排队等待,只要过来就可以通过
2)1.00 表示桥梁上刚好满负荷,刚刚好
3)超过1.00意味着需要等待,2.00意味着有两车道的汽车总数,一车道的汽车在桥上,一车道的汽车在等待。3.00意味着有三车道的汽车总数,一车道在桥上,两车道在等待。
 
桥相当于CPU,汽车过桥就是使用CPU的过程,等待就是等待使用CPU的过程,Unix将其称为运行队列长度,进程数总和等于正在运行进程数与等待运行数总和。
 
交通指挥员希望桥梁上永远不要出现等待,因此,你的CPU负载应该保持在1.00以下;如果偶尔桥上的峰值超过1.00,那么不需要担心,如果一直在1.00以上,就该担心了;
 
因此,你认为最好的负载是1.00?
 
不完全是,事实上,管理员会在0.7的地方标注一个阀值;
排查阶段:在平均负载开始大于0.7的时候,是时候该排查是什么原因导致高负载了
解决阶段:当负载高于1.0的时候,就可以找到问题并修复他了
凌晨阶段:如果你的负载高于5.0.已经是一个很严重的问题了,那么不知道什么情况下机器就会有问题
 
 
多核处理器的情况:
 
当有一个四核处理器的时候,负载3.00也是健康的;在多处理器系统上,负载与可用的核数相关,百分之百用完的标志在单核处理器上是1.00,双核处理器上是2.00,四核处理器上是4.00。
 
回到上面的桥梁上的例子,1.00意味着只有一条公路。在这一条公路上,意味着是满的。在一座两条公路的桥上,1.00以为者使用了百分之五十,仅仅只有一条路是满的。在单核处理器是,1.00是满负载,在双核处理器上,2.00是满负载
 
 
 
四、多核与多处理器
 
对于性能目标,一个具有双核的处理器与两个单核处理器是否是一样的?
 
是的,这里面有很多关于缓存和处理器之间频率的关系,尽管有这些东西,为了调整CPU的负载值,核的总数才是最重要的,不管这些核是怎么分布在物理处理器上
 
我们得出两个新的规则:
1)核的个数=最大的负载数 :在多核系统上,你的负载不应该超过核的数量
2)核心是核心,核在CPU上是如何分布的并不重要,两个四核处理器=四个双核处理器=八个单核处理器;他们都是8个核
 

CPU使用情况之平均负载的更多相关文章

  1. Linux性能优化从入门到实战:02 CPU篇:平均负载

    每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或 uptime 命令: $ uptime 22:22:17 up 2 days, 20:14, 1 user, load average: ...

  2. CPU使用率和平均负载

    转载: https://mp.weixin.qq.com/s?__biz=MzU4NzU0MDIzOQ==&mid=2247487782&idx=3&sn=3f04bb053d ...

  3. Linux性能优化实战:到底应该怎样理解平均负载(02)

    一.平均负载与CPU使用率并没有直接关系 1.平均负载 单位时间内,系统处于可运行状态和不可终端状态的平均进程数也就是平均活跃进程数,它和cpu使用率并没有直接关系, 可运行状态: 正在使用的cpu或 ...

  4. linux性能优化cpu-02平均负载

    每次我们系统变慢时,我们通常做的第一件事就是top命令或者uptime命令,看一下系统的负载情况,比如下面: 我在命令行中输入uptime 22:15:51    表示当前系统时间 up 13 min ...

  5. Day 22 进程管理2之系统的平均负载

    1.管理进程状态 当程序运行为进程后,如果希望停止进程,怎么办呢? 那么此时我们可以使用linux的kill命令对进程发送关闭信号.当然除了kill.还有killall,pkill 1.使用kill ...

  6. 【linux】linux命令--uptime查看机器存活多久和平均负载 解读平均负载含义

    一.uptime命令,查看机器存活时间和平均负载 键入命令: uptime 该结果和 top命令查看结果最上面一行的 是一样的显示. 返回数据介绍: #当前服务器时间: 19:56:44 #当前服务器 ...

  7. Linux性能调优 | 01 平均负载的理解和分析

    01 uptime命令 通常我们发现系统变慢时,我们都会执行top或者uptime命令,来查看当前系统的负载情况,比如像下面,我执行了uptime,系统返回的了结果. [root@lincoding ...

  8. 理解 uptime 的:“平均负载”? 如何模拟测试

    每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或者 uptime 命令,来了解系统的负载情况.比如像下面这样,我在命令行里输入了 uptime 命令,系统也随即给出了结果. [root@ ...

  9. Linux系统中到底应该怎么理解系统的平均负载

    02 | 基础篇:到底应该怎么理解“平均负载”? 每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或者 uptime 命令,来了解系统的负载情况.比如像下面这样,我在命令行里输入了 upt ...

随机推荐

  1. sublime text 3 显示空格和Tab

    tab对于需要 共享 的代码而言是灾难. pyhton对这点的明确要求是不要混合使用4个空格和tab键. 只使用二者之一,都是没有问题的.如果一个python代码已经完成的部分,都是使用的4个空格.那 ...

  2. 一、Beego介绍与项目创建及启动

    一.beego 简介 beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 torna ...

  3. ubuntu 关闭 笔记本键盘背景灯

    /etc/rc.local 加入 ' > /sys/class/leds/tpacpi::kbd_backlight/brightness

  4. Caffarelli 关于自由边界正则性的论文C1

    Caffarelli 关于自由边界正则性的论文 接下来主要想叙述一下Caffarelli的C1文章中的一些想法,这是最近这几天看的文献. 对于从自由边界的Lipschitz正则性到$C^{1,\alp ...

  5. 图论++【洛谷p1744】特价采购商品&&【一本通1342】最短路径问题

    (虽然题面不是很一样,但是其实是一个题qwq) [传送门] 算法标签: 利用Floyed的o(n3)算法: (讲白了就是暴算qwq) 从任意一条单边路径开始.所有两点之间的距离是边的权,或者无穷大,如 ...

  6. icpc2018-焦作-D-几何模拟

    https://nanti.jisuanke.com/t/34142 上午可能是供氧不足,推的式子死活不对,晚上莫名其妙又来了一次就过了. 分两种情况讨论,如果能够完全进入弯道答案就是固定的就是: s ...

  7. TP方法中打印地址栏中所有的参数:

    print_r($this->request->param());//打印出地址栏中所携带的所有参数:

  8. Win10系列:C#应用控件进阶1

    线形 线形没有内部空间,若要呈现一条直线,需要用Line对象的Stroke和StrokeThickness 属性分别为其轮廓的颜色及轮廓的粗细赋值,若不设置这两个属性,线形将不会呈现.绘制一条线形图形 ...

  9. Django--filter(**kwargs)

    Django--filter(**kwargs)-exclude(**kwargs) filter() 说明: 数据的过滤 返回Queryset包含与给定查找参数匹配的新对象.这里需要特别注意的地方就 ...

  10. [ZJOI2007]最大半联通子图

    这个题,翻译一下题面,就是一个连通图,找他的最长链的数量... 所以说方法就比较明显了:tarjan缩点+拓扑+DP 注意也是本题唯一坑点,拓扑DP的时候要考虑重复边的情况... 呆码: #inclu ...