zoukankan      html  css  js  c++  java
  • 理解linux下的load

     

    我们在做Linux负载计算的时候,我们需要了解负载的几个概念
    1)Linux负载是什么
    2)Linux负载怎么计算
    3)如何区分目前负载是“好”还是“坏”
    4)什么时候应该注意哪些不正常的值
     
    1)Linux负载是什么
    我们怎么来理解Linux的负载呢? 打个比方
     
    一核CPU对应我们一条公路,一个进程对应一辆汽车。
    在一条公路上,只有一辆汽车行驶,load=1没有出现拥堵的情况
     
    如果有两量汽车行驶在一条公路上行驶,会出现拥堵的情况,需要排队,这是load=2
     
    如果我们CPU是这种情况:
     
    cpu核数=12,当系统load=12时,系统cpu刚刚好在该机器cpu能处理的范围内
    当load>12时,机器就超出负荷了,会有任务出现等待的情况。
     
    2)Linux负载怎么计算
    load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值,然后用这个值和当前机器的cpu核数进行相除,得到的值
     
    load= process/total_cpu_cores
     
    3)如何区分目前负载是“好”还是“坏”
    负载的好和坏:
    需要根据机器当前的进程数与CPU总核数的比值(process_cores_values)和CPU总核数(total_cores)来比较
    当 process_cores_values <= total_cores 时,机器负载在CPU合理承受范围内
    当 process_cores_values > total_cores 时,机器负载超过CPU承受范围,机器超负荷运行。
     
    4)什么时候应该注意哪些不正常的值
    在我们执行top或者uptime的时候会有3个load的值,那我们根据哪个值做为我们判断依据呢?
     
    我觉得我们还是着眼5分钟和15分钟的load值比较合适,因为1分钟的值有可能是个瞬间值,而5分钟或者15分钟的值是平均值,长时间负载高,机器肯定是需要排查问题的。
  • 相关阅读:
    cmake vs qmake
    Flutter安装过程中遇到的问题
    外观模式(c++实现)
    原型模式(c++实现)
    我敢说 80% 的程序员都掉进了「老鼠赛跑」的陷阱
    装饰模式(c++实现)
    Kubernetes 部署 Nebula 图数据库集群
    应用 AddressSanitizer 发现程序内存错误
    前端 Docker 镜像体积优化
    图数据库设计实践 | 存储服务的负载均衡和数据迁移
  • 原文地址:https://www.cnblogs.com/shoshana-kong/p/15054596.html
Copyright © 2011-2022 走看看