前言

在做性能测试过程中,我们常说需要关注的主要两个性能指标方向为时间性能和空间性能。服务器CPU使用率以及平均负载率是其中需要重点监控的节点之一,此处用通俗的例子来说明CPU使用率以及CPU平均负载率

CPU使用率

在服务器使用top命令,我们可以打开实时服务器资源用情况如下图所示。

服务器CPU使用率

  • 我们可以看到此时CPU使用率占用百分比,图中为12.1%。对于这个CPU使用率可能部分对于计算机硬件原理不了解的同学来说会往空间方面去想象使用率(类似于内存使用率)而进入误区。
  • CPU的使用率是以时间维度来计算的CPU使用率,即CPU时间片使用率
  • 我们来用一个例子来说明CPU使用率的含义:假设一个村有一只牛我们把这一只牛看作一个逻辑CPU,全村耕地都需要用到牛,一只牛在一个时间段内只能在一家耕地。没有人用牛的时候使用率就低反之则使用率高

进程CPU使用率

  • 从上面的图我们可以看到PID为11352的进程CPU使用率298.3%,可能有的同学会认为这个使用率是不是说CPU使用率已经满了已经爆掉了,其实不是这样的哈
  • 前面Linux kernel cgroup篇我们说过CPU是可压榨资源,进程CPU使用率的百分比是以一个逻辑CPU为基数,298%说明CPU使用的时间片占用满了2.98个逻辑CPU的时间片。

CPU平均负载

同样使用top命令,我们可以看到第一行有“load average”平均负载率

  • CPU负载率标准解释:单位时间内,系统中处于可运行状态和不可中断状态的平均进程数。
  • 从标准解释我们可以通俗的讲就是正在CPU运行和等待CPU的进程总数,进程数量除以逻辑CPU个数就是我们的CPU平均负载
    老规矩,我们还是以牛为例子举例:假设一个村4只牛对应看作我们的4个逻辑CPU,有20家人要用牛耕地,那么我们可以可以认为这20家人就是我们上面说得可运行状态不可中断进程数。那么此时的平均负载就是5

关联

  • 上面我们理解了CPU使用率以及CPU平均负载率的概念和他们统计的维度区别,那么他们之间有没有什么必然联系,答案是没有必然联系。
  • 在I/O密集型业务的性能测试过程中会表现出CPU平均负载率较高而CPU使用率较低
  • 在CPU密集型业务的性能测试过程中会表现出CPU使用率较高而CPU平均负载率较低

性能测试,CPU使用率CPU负载率理解相关推荐

  1. Top,vmstat命令排查CPU使用率,负载问题

    ##Top,vmstat命令排查CPU使用率,负载问题 LINUX服务器CPU持续保持高使用率,则会对系统稳定性和业务运行造成影响. CPU使用率/负载查看命令: 第一种方法:使用vmstat命令查看 ...

  2. 一次详尽的问题定位记录:CPU使用率低负载高的排查过程

    历史原因,当前有一个服务专门用于处理mq消息,mq使用的阿里云rocketmq,sdk版本1.2.6(2016年). 随着业务的发展,该应用上的consumer越来越多,接近200+,导致该应用所在的 ...

  3. cpu使用率低负载高,原因分析-----举例命令排查过程

    原因总结 产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低. 下面内容是具体的原理分析:在分析负载为什么 ...

  4. CPU 使用率低 负载高的原因

    原因总结 产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低. 下面内容是具体的原理分析: 在分析负载为什 ...

  5. cpu使用率低负载高,原因分析(转)

    原因总结 产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低. 下面内容是具体的原理分析:在分析负载为什么 ...

  6. cpu使用率低负载高

    cpu低而负载高也就是说等待磁盘I/O完成的进程过多,就会导致队列长度过大,这样就体现到负载过大了,但实际是此时cpu被分配去执行别的任务或空闲,具体场景有如下几种. 场景一:磁盘读写请求过多就会导致 ...

  7. java获取cpu数量,以及cpu使用率(cpu负载)

    Java获取cpu数量,cpu使用率 如下是spring-boot监控服务spring-boot-starter-actuator源码中获取cpu个数,cpu使用率的方式. import com.su ...

  8. cpu使用率(cpu使用率很低最大频率很高)

    CPU使用率占多少算是正常 先这样说吧,如果你玩的是那种对显卡要求不高的游戏,而且你在网吧用的机器的显卡足够强大的话,你就是4开5开CPU占用也不会很多的 但是你如果看的个人网页就不一样了,现在很多网 ...

  9. linux php cpu,理解Linux CPU负载和 CPU使用率

    CPU负载和 CPU使用率 这两个从一定程度上都可以反映一台机器的繁忙程度. cpu使用率反映的是当前cpu的繁忙程度,忽高忽低的原因在于占用cpu处理时间的进程可能处于io等待状态但却还未释放进入w ...

  10. 理解Linux系统平均负载和CPU使用率

    CPU 使用率 CPU 使用率就是 CPU 非空闲态运行的时间占比,它反映了 CPU 的繁忙程度.比如,单核 CPU 1s 内非空闲态运行时间为 0.8s,那么它的 CPU 使用率就是 80%:双核 ...

最新文章

  1. 分布式架构的对比-IBM XIV
  2. Internet History, Technology, and Security----第三周
  3. 洛谷1020导弹拦截
  4. Linux下epoll如何实现高效处理百万句柄的
  5. 基准测试:Java 8 Lambda和流如何使您的代码慢5倍
  6. C++ Primer 学习笔记_72_面向对象编程 --句柄类与继承[续]
  7. QQ浏览器如何开启夜间模式 夜间模式使用技巧分享
  8. webpack打包vue2.0项目时必现问题
  9. 本地搭建Redis集群 windows(图文详解)
  10. 一款好用的绘制组织结构图的软件-亿图组织结构图
  11. iOS-常用的第三方库以及实例
  12. DevOps 实践指南
  13. eth java_eth钱包开发--java(附带eth离线交易工具类)
  14. “语象观察”-爬取人民日报并统计词频
  15. 红月所有物品完全代码
  16. 带有反爬虫机制下进行爬取数据方案,这里以阿里拍卖为例
  17. 什么是PEP8编码风格?
  18. 打卡小程序上线啦!新玩法来了!
  19. 请各位大佬看看关于Scrapy ImagesPipeline对图片进行爬取无法存入本地的问题
  20. signature=ba9e6379d20ccbc5c357c7ca83db9b63,来用百度密语吧!!!

热门文章

  1. KubeSphere介绍和基于K8S的安装
  2. STM32CubeMX | 36 - 使用CAN总线进行双板通信(TJA1050)
  3. linux jar环境配置文件,启动jar包 指定配置文件和运行环境
  4. java毕业设计汽车客运站票务管理系统源码+lw文档+mybatis+系统+mysql数据库+调试
  5. transform模板函数调用tolower函数报错原因、解决办法
  6. HTML荧光文字动态效果,利用HTML5实现文字放射发光动画特效
  7. 面试准备:计算机网络常见面试题
  8. 第二章 搭建Android开发环境
  9. 佛祖保佑,永无bug,代码注释大全
  10. 随机游走 推荐系统论文阅读