今天在客户的生产环境中遇到了网络丢包的问题,但是查看我方部署smokeping监控发现对同一条线路监控,我方监控显示正常,判断丢包是由客户服务器负载过高导致,原因及排查思路如下:

使用uptime命令查看云主机负载

uptime

14:21:39 up 39 days, 22:18,  1 user,  load average: 22.03, 20.01, 23.05

  看到这个负载感觉目前整个操作系统已经很危险了,负载已经达到了20左右,客户云主机配置为8C8G。

理解Linux处理器负载平均值

  以上我们已经使用了uptime命令对当前的云主机性能进行了查看,但是需要明确的是load average值到底多少才算正常呢?我们如何判断丢包的原因是不是因为服务器负载过高导致的呢?

  load average三个数值分别代表不同时间段的系统负载情况(一分钟、五分钟、十五分钟)那么我们应该如何使用这三个值进行准确的判断呢?实际上我们更应该注重五分钟、十五分钟的负载值,如果当前一分钟的负载值升高,五分钟以及十五分钟负载值正常,那么我们不需要过于担心,很可能是暂时现象。如果十五分钟负载值过大那就需要引起我们的注意了,需要我们对云主机进行升级配置或对当前集群进行扩容。

  那么,问题又来了,现在我们知道查看具体时间的负载值对严重程度进行分析了,那么我们进一步就需要判断负载值为多少才需要我们进行关注呢!

实际上负载值是与CPU个数和核数有关的,负载值不应该超过处理器核心数(本次实例负载值不应该超过8)

我们可以如下理解:单核CPU负载正常值不超过1,n核CPU处理器负载值不超过n。现在我们将CPU比作是一座跨海大桥,CPU的个数与核数比作是这座大桥的车道数,当CPU个数与核数为1服务器负载为1时,可以理解为一条单行道的大桥上已经拥堵满了车辆无法在继续前行,后续车辆只能等待前方车辆通过后继续前行,如果CPU个数或核数为8,相当于此条大小的可行车道数为8,理论情况下是当负载达到8时将所有车道堵满无法通行,相信这样就很好理解了。

  曾几何时,我对多核和多个处理器有所误解,就技术而言我接触更多的是多核处理器,下面简单的描述下他们之间的区别。

  • 多核处理器:将多个核心进行集成,例如:一个双核处理器可以同时执行多个不同的进程,大大的提升了系统的处理速度,多个核心在一个芯片上,它们之间的通讯也更快,功耗更低,弊端是所有的压力集中与一个物理处理器,压力过大导致处理器达到瓶颈,有宕机风险。
  • 多个处理器:服务器上安装多个处理器,例如:多个处理器分别处理不同的进程,同样提高了系统的处理速度,但是多个CPU的功耗、体积更大,数据之间通讯更慢,这种分布式系统之间面临着很多问题,如:一个处理器正在处理一个进程,突然出现故障,这个进程后续谁来处理?以及如何协调这些处理器进行工作,这些都是分布式计算将要面临的挑战。

  目前而言,多核处理器仍是市场主流。以上的解释可以用下图更形象的进行展示。

预警值

  如果将CPU比喻为人的话,负载值比喻为工作,我们当然不会让手中的工作达到100%也就是1,所以当负载值超过50%时就需要我们警示了,尽快排查原因,如果真的是无法进行优化处理,那么就尽快进行扩容。CPU真幸福压力大了还可以罢工,人就不是了--活着干,死了算。

理解load averages的更多相关文章

  1. 如何理解 Linux 中的 load averages

    原文:https://mp.weixin.qq.com/s?src=11&timestamp=1533697106&ver=1047&signature=poqrJFfcNAB ...

  2. 理解Load Average做好压力测试

    http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html CPU时间片 为了提高程序执行效率,大家在很多应用中都采用了多线程模式 ...

  3. 理解Load Average做好压力测试(转)

    转载自:http://www.blogjava.net/cenwenchu/archive/2008/06/30/211712.html SIP的第四期结束了,因为控制策略的丰富,早先的的压力测试结果 ...

  4. Laravel渴求式加载(比较容易理解理解load与with关系)

    渴求式加载 当以属性方式访问 Eloquent关联关系的时候,关联关系数据是「懒惰式加载」的,这意味着关联关系数据直到第一次访问的时候才被加载.不过,Eloquent 还可以在查询父级模型的同时「渴求 ...

  5. 理解Linux系统负荷load average

    理解Linux系统负荷   一.查看系统负荷 如果你的电脑很慢,你或许想查看一下,它的工作量是否太大了. 在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行).(另外,它们在 ...

  6. 理解linux cpu load - 什么时候应该担心了

    译文原文: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages 你可能已经很熟悉linux的平均load. ...

  7. 理解cpu load

    三种命令 1. w 2. uptime 3. top CPU负载和CPU利用率的区别 1)CPU利用率:显示的是程序在运行期间实时占用的CPU百分比 2)CPU负载:显示的是一段时间内正在使用和等待使 ...

  8. Linux系统Load average负载详细解释

    我们知道判断一个系统的负载可以使用top,uptime等命令去查看,它分别记录了一分钟.五分钟.以及十五分钟的系统平均负载 例如我的某台服务器: $ uptime 09:50:21 up 200 da ...

  9. 读懂系统负载(Load Avg)的含义 | Devops

    有过运维Linux服务器的选手,想必对于系统平均负载(load averages)参数不会陌生吧,我们可以通过top, htop, uptime这些命令找到它们(如下图),那么我们又改如何理解它们呢, ...

随机推荐

  1. js ParseUrl

    js ParseUrl function parseURL(url) { var a = document.createElement('a'); a.href = url; return { sou ...

  2. [leetcode]125. Valid Palindrome判断回文串

    Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...

  3. Spring整合Struts2框架的第一种方式(Action由Struts2框架来创建)。在我的上一篇博文中介绍的通过web工厂的方式获取servcie的方法因为太麻烦,所以开发的时候不会使用。

    1. spring整合struts的基本操作见我的上一篇博文:https://www.cnblogs.com/wyhluckdog/p/10140588.html,这里面将spring与struts2 ...

  4. Halcon开发环境和数据结构介绍——第1讲

    1.Halcon是什么?如何初步了解Halcon? 这点我讲得不太好,不如给大家看看三个链接: ① Halcon官方网站:https://www.mvtec.com/products/halcon/ ...

  5. Golang之时间、日期类型

    孤身只影的一直小地鼠,艰难的走在路上 package main import ( "fmt" "time" ) //获取时间的格式 func testTime( ...

  6. OpenSSL 结构体

    X509_STORE 头文件:x509_vfy.h 定义 typedef struct x509_store_st X509_STORE; struct x509_store_st { /* The ...

  7. Java 检查异常(checked exception)和未检查异常(unchecked exception)区别理解

    所有异常类型都是 Throwable 类的子类,它包含Exception类和Error类,Exception又包括checked exception和unchecked exception. unch ...

  8. jquery获取radio单选框的值

    1.获取原有单选框的值 var value=$("input[name='is_setting']:checked").val(); 2.获取重选后的单选框的值 <tr> ...

  9. dwr 框架 ,实现 ajax 的java 框架

    1. 引入 dwr.jar 包 2. 配置web.xml 文件 ,拦截请求 <servlet> <servlet-name>dwr-invoker</servlet-na ...

  10. hdu-1179(匈牙利算法)

    题目链接: 思路:找n个巫师和m个魔棒匹配的问题,匈牙利算法模板 匈牙利算法:https://blog.csdn.net/sunny_hun/article/details/80627351 #inc ...