linux 进程状态 load,Linux - 系统指标 CPU load
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相关推荐
- linux 进程状态 rl,Linux进程状态详解
Linux进程状态详解 以下部分的代码示例,来自于Linux内核的0.11版本源码 在定义进程的数据结构task_struct时,有一个state字段是用来表示进程状态的,这里总结了下关于state字 ...
- linux 进程状态 dw,Linux之PID状态信息是如何来的之详解PID stat文件
摘要 在Linux上一切皆文件,哪怕你是硬件也是用文件的形式给呈现出来了,刚开始接触Linux的时候我对这话也是很莫名其妙,很难以理解,但是经过这么长时间的接触,平均每天有20%+的时间在Linux系 ...
- linux进程状态a,Linux进程冻结技术
Linux进程冻结技术 作者:itrocker 发布于:2015-11-24 15:01 分类:电源管理子系统 1什么是进程冻结 进程冻结技术(freezing of tasks)是指在系统hiber ...
- linux进程状态1026,Linux进程状态分析
最近在看APUE过程中,遇到了一个有关于进程的"僵死进程"的状态.既然遇到了进程状态的问题,索性就查了查<Linux内核设计与实现>,里面给出了5种状态,分别是&quo ...
- linux 进程状态ss,linux ss 命令用法说明
ss 是 Socket Statistics 的缩写.ss 命令可以用来获取 socket 统计信息,它显示的内容和 netstat 类似.但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连 ...
- 怎么理解cpu load?
前言 本着不重复造轮子的原则,总结一些可靠可重现的结论. 直接上结论 什么是cpu load? (以下说的cpu load,都是linux cpu load) cpu load反应了一个系统的&quo ...
- Linux下进程状态转换,Linux进程状态转换图
Linux进程状态 Linux内核中的进程状态 ◆运行状态(TASK_RUNNING) 指正在被CPU运行或者就绪的状态.这样的进程被成为runnning进程.运行态的进程可以分为3种情况:内核运行态 ...
- 如何理解和分析linux系统的CPU平均负载情况(load average)
最近研究linux时接触到了一个新的概念,叫做CPU的平均负载(load average).之前都只听说过CPU的使用情况,很少听说过负载情况.于是对这个概念进行了一下研究学习,总结如下,以便日后查阅 ...
- Linux系统的CPU使用率和Load
为什么80%的码农都做不了架构师?>>> 好吧,我承认这个话题是老生常谈,我自己也在2009年刚接触性能测试时就已经开始关注并略知一二:然而,对于CPU使用率和系统负载Load ...
最新文章
- html无序列表空心圆_列表样式的使用CSS入门基础(018)
- 年化收益14%的投资机会,出手吗?
- datatable报错 uncaught TypeError: Cannot read property 'aDataSort' of undefined
- cesium鼠标控制键盘_Cesium中级教程3 - Camera - 相机(摄像机)
- hasOwnProperty和isPrototypeOf
- CSS中盒子模型、嵌套盒子中垂直外边距塌陷问题解决方案、标准盒模型、怪异盒模型
- 【学习OpenCV4】图像通道的分离、合并与混合方法(C++)
- 如何修复最常见的 macOS 11 Big Sur 问题?
- 【高并发高性能高可用之海量数据MySQL实战】-提纲目录-不断更新中...
- 自研DCI网络路由交换协议DCIP-白牌交换机时代的企业网络
- selenium简单模拟百度搜索点击器
- 布丰投针实验 MATLAB仿真 以及报告
- HTML5 data-* 自定义属性及其注意点
- ElasticSearch wildcard查询(英文检索)
- 转~~前端轮播 简单实现 啵啵啵!!!
- 手机计算机数字游戏怎么玩,计算器游戏攻略
- 小米手机电池校正_华为小米等安卓福音:超实用手机电池校正 解决电池虚标不耐用!...
- 养老保险不到60岁能领吗
- 工作4年感想:美团、360、陌陌、百度、阿里、京东面试
- 常用IP地址端口对照表
热门文章
- sql server实例内存使用统计
- mysql timestamp 默认值是什么#039;_MYSQL中TIMESTAMP类型的默认值
- springboot中使用@Value读取配置文件
- 基于JAVA+SpringBoot+Mybatis+MYSQL的高铁售票系统
- php小论坛开发总结,PHP开发 小型论坛教程之添加论坛-2
- php函数fiter,PHP filter_var() 函数和 Filter 函数使用说明
- 决策树留一法python代码_ScikitLearn决策树算法类库使用小结
- ALAsset 将资源转换为 NSData
- 高仿114la网址导航源码完整最新版
- 图片呈现jQuery中fadeIn、fadeOut、fadeTo的用法(图片隐藏与显示)