Linux - 系统指标 CPU load - 简书

标签: | 发表时间:2021-06-03 19:20 | 作者:
出处:https://www.jianshu.com

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操作系统只计算 runningrunnable的进程。但是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

当然, wtop命令也包含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 系统 指标] 推荐:

linux 系统性能指标

- - 非技术 - ITeye博客
近段时间,再忙着找实习,经常被问到的,关于linux系统性能的指标,比如对于一台linux机器来说,怎么监控它的CPU,内存,负载等情况;怎样算高负载,具体的依据是什么. 等等这类问题,下面就好好总结一下这方面知识吧~. 由于能力有限,可能总结的不是很全面,不是很正确,有错漏的,欢迎大家帮忙指出,谢谢.

Linux - 系统指标 CPU load - 简书

- -
cpu load通常做为一个机器负载的衡量指标. cpu load是对使用或者等待cpu进程的统计(数量的累加). 每一个使用(using)或者等待(waiting)CPU的进程(process),都会使load值+1. 每一个结束的(teminates)进程,都会使load值-1. 所谓使用CPU的进程,是指状态为.

Linux系统监控

- - CSDN博客系统运维推荐文章
查看所有的进程和端口使用情况:. 查看nginx并发(连接数)进程数:. 查看当网络连接状态中,已建立连接的数量:. 查看系统tcp连接中各个状态的连接数. 输出每个ip的连接数,以及总的各个状态的连接数. df -hl 查看磁盘使用情况 . df -hl 查看磁盘剩余空间. df -h 查看每个根路径的分区大小.

Linux 开源车载系统 Automotive Grade Linux

- - 开源中国社区最新新闻
Google、苹果以及微软相继宣布为汽车中控台推出车载系统,近日Linux基金会宣布推出可定制,开源的车载系统平台 Automotive Grade Linux. 旨在成为未来车载系统开源标准平台. 目前早期版本的AGL已提供下载. Automotive Grade Linux系统支持的汽车厂商以及品牌有捷豹、路虎、本田、日产等,同时也支持ATS、富士通、哈曼、英特尔、LG、NEC、松下三星等科技企业的车内产品.

理解Linux系统负荷

- Adam - 阮一峰的网络日志
如果你的电脑很慢,你或许想查看一下,它的工作量是否太大了. 在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行). (另外,它们在苹果公司的Mac电脑上也适用. 你在终端窗口键入uptime,系统会返回一行信息. 这行信息的后半部分,显示"load average",它的意思是"系统的平均负荷",里面有三个数字,我们可以从中判断系统负荷是大还是小.

Linux系统启动流程

- - CSDN博客推荐文章
Linux系统启动流程(以CentOS为例):. 加载BIOS,获得主机的硬件信息并进行开机自检,然后根据设置取得第一个可启动的设备(如硬盘). 执行第一个可启动设备内MBR(主引导分区)的Boot Loader(如grub). 根据Boot Loader的设置加载kernel和initrd(虚拟文件系统),kernel开始检测硬件并加载驱动程序.

Linux 系统安全检查

- -
对linux系统进行安全检查的方法. 1、充分利用Linux和Unix系统中内置的检查命令来检测系统. Linux和Unix系统中就很有用处: . -who,查看谁登陆到系统中; . -w,查看谁登陆到系统中,且在做什么操作; . -last,显示系统曾经被登陆的用户和TTYS; . -history,显示系统过去被运行的命令; .

“Linux”不等同于Linux内核:构建Linux系统的8个软件包

- - 极客范 - GeekFan.net
Linux发行版并不仅仅是Linux内核. 所有的Linux发行版都包含了除内核之外的一些必要的软件包,比如Grub引导程序、Bash shell、GNU shell工具软件、守护进程、X.org图形服务器和桌面环境等等. 所有这些不同的程序均由相互独立的开发小组开发. 这些程序被Linux发行版集成到一起从而形成一套完整的“Linux”操作系统.

python/java操作linux系统命令

- 天朝小民 - ITeye论坛最新讨论
看来python的确是做为脚本语言来使用的话,非常的方便. 来看一个处理linux命令的脚本. #coding:utf-8 import os import commands ''' 采用os.popen(cmd)来执行命令,要获取输出,需要read()来读取 ''' cmd = 'ls -l' values = os.popen(cmd).read() #print values for v in values.split('\n'):.