cpu load是什么?
目录
前言:
1. cpu load
2. cpu使用率
3. linux得到cpu核数
4. mac系统获得cpu信息
前言:
调研监控,看到cpu load。
一般我们看cpu load是使用top命令。
通过uptime
或者top
命令就可以显示出,平均负载的内容如下:
top
Load Avg: 2.83, 3.19, 2.97
uptime
16:49 up 6:54, 2 users, load averages: 2.63 3.13 2.95
mac不行,在linux可以:
cat /proc/loadavg
结果:0.03 0.09 0.13 1/1882 27468
三个数字分别代表了一分钟,五分钟和十五分钟三个时间段内的CPU负载的平均值,而数字越低越好。数字越高表示系统出现了问题或机器过载。
Unix将CPU负载定义为运行队列的长度:当前正在运行的进程数与正在等待(排队)的进程数之和。
1. cpu load
理想情况:
一个核心被一个进程占用,以单核为例子。
单核最好为0.7以内理想,如果为1.0,需要查找问题原因并立即解决。否则,你的服务器可能在任何时候出现性能问题。
如果为5.0,那么可能系统马上就要崩溃了!千万不能到5.0
如果是多核,那么上面数字乘以逻辑核心数量,就是临界值。比如双核就是负载尽量不要高于2.
比如:如果你只有2个核心,依然跑4个进程,这就意味着有一半进程在某一个时刻抢不到CPU,这时候Load还是4,如果是短期状态还无所谓,如果长期是这个状态你就要注意了。
2. cpu使用率
使用率这个要结合时间片来说,影响使用率高低的因素不是LOAD的多少,而是在分配给某个进程时间片时,这个进程是否使用了CPU的计算能力。
如果没有使用计算能力,那么这个时间这个线程空闲的就是0%。但是load还是不变的。
从计算机角度来说,单核心CPU,假设1秒钟分为100个时间片,如果2个任务,第一个任务用了5个时间片执行完成,另外一个任务用了15个时间片执行完成,所以如果统计周期是1秒,那么这1秒内的CPU使用率就是20%(剩下的时间啥事没干)
CPU利用率高不一定负载高。利用率是一段时间内CPU被占用的情况。
CPU负载高利用率低:说明等待执行的任务很多,但是通常任务多CPU使用率也会比较高,如果低就说明CPU根本没工作,哪些很多的任务处于等待状态,可能进程僵死了。可以通过命令ps –axjf查看是否存在D状态的进程,该状态时不可中断的睡眠状态。这种状态无法被KILL。而有时候你通过top命令也看不出来,只能显示LOAD高,但是没有哪个进程的CPU使用率明显高,你可以通过ps –ux来查看。
CPU利用率高负载低:说明任务少,但是任务执行时间长,有可能是程序本身有问题,如果没有问题那么计算完成后则利用率会下降。这边的状态:(可运行分为正在运行进程和正在等待CPU的进程,状态为R;不可中断则是它正在做某些工作不能被中断比如等待磁盘IO等,其状态为D),它是从另外一个角度体现CPU的使用状态。
这部分转自:https://www.cnblogs.com/rexcheny/p/9382396.html
3. linux得到cpu核数
获得系统的CPU信息
cat /proc/cpuinfo
得到CPU核数 :下面两个均可
grep 'model name' /proc/cpuinfo | wc -l
cat /proc/cpuinfo| grep "cpu cores"| uniq
获得有几个物理CPU,可能有的是双路CPU(一般都是1个):
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
查看逻辑核心数
cat /proc/cpuinfo| grep "processor"| wc -l
4. mac系统获得cpu信息
这些无法在linux上用
查看物理CPU核心个数:
sysctl hw.physicalcpu
hw.physicalcpu: 4
查看逻辑CPU核心个数:
sysctl hw.logicalcpu
查看硬件信息:
system_profiler SPHardwareDataType
思考:
I/O占用cpu么?
cpu load是什么?相关推荐
- LINUX下CPU Load Average的一点研究
背景: 公司的某个系统工作在基于Linux的Cent OS下,一个host下同时连接了许多client, 最近某台Host总是显示CPU Load Average过高,我们单纯的以为是CPU的占用过高 ...
- linux cpu load 值,理解Linux系统中的load average(图文版)转
一.什么是load average? linux系统中的Load对当前CPU工作量的度量 (WikiPedia: the system load is a measure of the amount ...
- linux cpu load 详解,理解linux cpu load - 什么时候应该担心了
load average: 0.09, 0.05, 0.01 1 大多数人对这些数都有一个模糊的概念:三个数分别代表了一个随着更长时间上的一个平均值(1分钟, 5分钟, 15分钟). 并且值越小越好. ...
- linux 进程状态 load,Linux - 系统指标 CPU load
cpu load cpu load通常做为一个机器负载的衡量指标 cpu load是对使用或者等待cpu进程的统计(数量的累加).每一个使用(using)或者等待(waiting)CPU的进程(pro ...
- CPU load高但CPU usage低问题排查
讲故事 最近服务总是出现 cpu load高的告警,且告警经常还出现在低峰期的凌晨,所以很明显不是用户流量导致的负载高,但是 cpu buzy却很低.查看内存使用情况:mem.memused 接近10 ...
- 怎么理解cpu load?
前言 本着不重复造轮子的原则,总结一些可靠可重现的结论. 直接上结论 什么是cpu load? (以下说的cpu load,都是linux cpu load) cpu load反应了一个系统的&quo ...
- 理解linux cpu load - 什么时候应该担心了
Updated: 2018/10/17 图片被CSDN 吃了 重新上传 译文原文: http://blog.scoutapp.com/articles/2009/07/31/understanding ...
- 理解linux cpu load
理解linux cpu load 译文原文 你可能已经很熟悉linux的平均load. 平均load是3个数 (可以用uptime或者top命令查看), 他们看着像下面这样: load average ...
- 性能指标理解-CPU load average
一般说到CPU使用率,大家都不陌生,就是程序对CPU时间片的占用情况,但我们大多情况下,还需要看另外一个指标,CPU load average. 先来看着图: 下面top命令,可以看到load ave ...
- CPU load和CPU使用率飙高,系统性能问题如何排查?
压测时或多或少都收到过CPU或者Load高的告警,如果是单机偶发性的,经常会认为是"宿主机抢占导致的",那事实是否真是如此呢?是什么引起了这些指标的飙高?网络.磁盘还是高并发?有什 ...
最新文章
- Stream流与Lambda表达式(一) 杂谈
- AI重新定义边缘计算的重要性
- 【机器学习】机器学习Top10算法,教你选择最合适的那一个!一文读懂ML中的解析解与数值解...
- POJ2402+模拟
- Java NIO原理 图文分析及代码实现
- sam格式的结构和意义_SAM格式的学习
- 538. Convert BST to Greater Tree 把二叉搜索树转换为累加树
- 【Linux】一步一步学Linux——cal命令(75)
- comps电磁场模拟软件_什么样配置的电脑可以适合用于电磁仿真?
- 从标准到开发,解读基于MOF的应用模型管理
- oracle 命令分析2
- 【C#】万年历源码、农历、节日、节气齐全
- 【踩坑】XML转JSON中如何把单个元素转成数组
- 南阳OJ 题目97 兄弟郊游问题
- S老师 Top-Down RPG Starter Kit 学习
- 学习costmap代价地图
- Oracle 绑定变量窥视
- Android工程中方法数超过65536解决方法
- wordpress启动_如何通过7个简单步骤正确地启动WordPress博客(2020)
- 数据库、MySQL基本知识