cpu load

cpu load通常做为一个机器负载的衡量指标

cpu load是对使用或者等待cpu进程的统计(数量的累加)。每一个使用(using)或者等待(waiting)CPU的进程(process),都会使load值+1。

每一个结束的(teminates)进程,都会使load值-1。

所谓使用CPU的进程,是指状态为running的进程,或者说是在cpu run queue里的进程。

所谓等待CPU的进程,是指状态为runnable的进程,或者说是在cpu ready queue里的进程。

大部分Unix操作系统只计算running和runnable的进程。但是Linux系统除了上述两种状态进行,还计算uninterruptible sleep状态的进程(通常是在等待磁盘IO)。因此,如果有很多进程被block在IO处,Linux系统显示的load会被Unix系统高一些。举个例子,如果有进程由于NFS服务挂掉或者USB设备太慢而block住的话,会显示一个奇怪的现象:cpu使用率不高,但是cpu load很高。

cpu load average

通常,我们关注的不是cpu load,而是cpu load average这个指标。

所有的Unix和类Unix操作系统,都有3个"load average"的统计指标。分别表示1分钟、5分钟和15分钟内的cpu负载均值。

使用uptime命令是查看cpu负载最简单的命令:

$ uptime

14:34:03 up 10:43, 4 users, load average: 0.06, 0.11, 0.09

当然,w和top命令也包含cpu load信息。

top命令:

image.png

w命令:

image.png

load average的意义

load average是个无量纲的,大致可认为是cpu进程队列中进程的数量和cpu可处理能力的比值。比如cpu最多同时能处理10个进程,

如果队列中进程数量为5,load average为50%,说明cpu还没达到负载上限

如果队列中进程数量为10,load average为100%,说明刚好达到负载上限

如果队列中进程数量为15,load average为150%,说明超出了cpu的处理能力

单个cpu的load average为0.7以上时,需要注意是否快达到了服务能力的瓶颈。

cpu load和cpu utilization

cpu load(cpu负载)相较于cpu utilization(cpu使用率)更能反映机器的负载情况。

因为,假如有两个配置相同的机器,一个机器cpu utilization是50%,另一个是70%,我们可以认为70%的机器负载比50%的高。但是如果两个机器的cpu use都是100%的话,谁的负载更高,就不得而知了。而cpu load是可以反映出来的。

比如两个机器的per cpu load分别是1.5和1.8,但是他们的cpu use都是100%。但是我们依旧可以知道哪台机器负载更高。

假如在一个单核机器上,load average是"1.73 0.60 7.98",那么可以大致这么解释:

在过去1分钟中,系统负载超额73%。(1.73个runnable进程,但是有0.73个进程需要等待)

在过去5分钟中,系统负载有40%空闲

在过去15分钟中,系统负载超额698%。(7.98个runnable进程,但是有6.98个需要等待)

参考

linux 进程状态 load,Linux - 系统指标 CPU load相关推荐

  1. linux 进程状态 rl,Linux进程状态详解

    Linux进程状态详解 以下部分的代码示例,来自于Linux内核的0.11版本源码 在定义进程的数据结构task_struct时,有一个state字段是用来表示进程状态的,这里总结了下关于state字 ...

  2. linux 进程状态 dw,Linux之PID状态信息是如何来的之详解PID stat文件

    摘要 在Linux上一切皆文件,哪怕你是硬件也是用文件的形式给呈现出来了,刚开始接触Linux的时候我对这话也是很莫名其妙,很难以理解,但是经过这么长时间的接触,平均每天有20%+的时间在Linux系 ...

  3. linux进程状态a,Linux进程冻结技术

    Linux进程冻结技术 作者:itrocker 发布于:2015-11-24 15:01 分类:电源管理子系统 1什么是进程冻结 进程冻结技术(freezing of tasks)是指在系统hiber ...

  4. linux进程状态1026,Linux进程状态分析

    最近在看APUE过程中,遇到了一个有关于进程的"僵死进程"的状态.既然遇到了进程状态的问题,索性就查了查<Linux内核设计与实现>,里面给出了5种状态,分别是&quo ...

  5. linux 进程状态ss,linux ss 命令用法说明

    ss 是 Socket Statistics 的缩写.ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似.但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连 ...

  6. 怎么理解cpu load?

    前言 本着不重复造轮子的原则,总结一些可靠可重现的结论. 直接上结论 什么是cpu load? (以下说的cpu load,都是linux cpu load) cpu load反应了一个系统的&quo ...

  7. Linux下进程状态转换,Linux进程状态转换图

    Linux进程状态 Linux内核中的进程状态 ◆运行状态(TASK_RUNNING) 指正在被CPU运行或者就绪的状态.这样的进程被成为runnning进程.运行态的进程可以分为3种情况:内核运行态 ...

  8. 如何理解和分析linux系统的CPU平均负载情况(load average)

    最近研究linux时接触到了一个新的概念,叫做CPU的平均负载(load average).之前都只听说过CPU的使用情况,很少听说过负载情况.于是对这个概念进行了一下研究学习,总结如下,以便日后查阅 ...

  9. Linux系统的CPU使用率和Load

    为什么80%的码农都做不了架构师?>>>    好吧,我承认这个话题是老生常谈,我自己也在2009年刚接触性能测试时就已经开始关注并略知一二:然而,对于CPU使用率和系统负载Load ...

最新文章

  1. html无序列表空心圆_列表样式的使用CSS入门基础(018)
  2. 年化收益14%的投资机会,出手吗?
  3. datatable报错 uncaught TypeError: Cannot read property 'aDataSort' of undefined
  4. cesium鼠标控制键盘_Cesium中级教程3 - Camera - 相机(摄像机)
  5. hasOwnProperty和isPrototypeOf
  6. CSS中盒子模型、嵌套盒子中垂直外边距塌陷问题解决方案、标准盒模型、怪异盒模型
  7. 【学习OpenCV4】图像通道的分离、合并与混合方法(C++)
  8. 如何修复最常见的 macOS 11 Big Sur 问题?
  9. 【高并发高性能高可用之海量数据MySQL实战】-提纲目录-不断更新中...
  10. 自研DCI网络路由交换协议DCIP-白牌交换机时代的企业网络
  11. selenium简单模拟百度搜索点击器
  12. 布丰投针实验 MATLAB仿真 以及报告
  13. HTML5 data-* 自定义属性及其注意点
  14. ElasticSearch wildcard查询(英文检索)
  15. 转~~前端轮播 简单实现 啵啵啵!!!
  16. 手机计算机数字游戏怎么玩,计算器游戏攻略
  17. 小米手机电池校正_华为小米等安卓福音:超实用手机电池校正 解决电池虚标不耐用!...
  18. 养老保险不到60岁能领吗
  19. 工作4年感想:美团、360、陌陌、百度、阿里、京东面试
  20. 常用IP地址端口对照表

热门文章

  1. sql server实例内存使用统计
  2. mysql timestamp 默认值是什么#039;_MYSQL中TIMESTAMP类型的默认值
  3. springboot中使用@Value读取配置文件
  4. 基于JAVA+SpringBoot+Mybatis+MYSQL的高铁售票系统
  5. php小论坛开发总结,PHP开发 小型论坛教程之添加论坛-2
  6. php函数fiter,PHP filter_var() 函数和 Filter 函数使用说明
  7. 决策树留一法python代码_ScikitLearn决策树算法类库使用小结
  8. ALAsset 将资源转换为 NSData
  9. 高仿114la网址导航源码完整最新版
  10. 图片呈现jQuery中fadeIn、fadeOut、fadeTo的用法(图片隐藏与显示)