性能测试之cpu 分析

news2024/10/6 8:24:45

cpu 架构  --中央处理器

  • 运算器: 真正进行计算的单元
  • 控制器: leader
  • 寄存器: 存储 指令、数据、地址
  • 时钟 控制程序运行时长

内存

程序代码、网络数据,外部数据进入cpu的桥梁,内存的速度,要比cpu的速度

cpu 查看

top

lscpu

cat/proc  /proc 虚拟文件,操作系统启动时,读取的信息,这些信息放内存中

`cat /proc/cpuinfo |grep "physical id" |sort |uniq |wc -l ` 查看物理cpu数量

sort 排序 uniq 去重 wc-l 统计行数 
`cat /proc/cpuinfo | grep "cpu cores" |uniq `查看CPU的core数,即核数
`cat /proc/cpuinfo | grep "processor" |wc -l` 查看逻辑CPU数量

 

cpu状态分析

us  用户进程空间中未改变过优先级的进程占用CPU百分比  -用户进程
sy:  内核空间占用CPU百分比  -系统进程 
ni:  用户进程空间内改变过优先级的进程占用CPU百分比 -由内核进入非内核的状态切换的耗时
id: 空闲时间百分比
wa:空闲&等待I/O的时间百分比  -资源不够时导致cpu处于等待时间
hi:  硬中断时间百分比  -程序切换
si:   软中断时间百分比  -管理员自愿切换
st:虚拟化时被其余VM窃取时间百分比

 

load average值 =cpu(cpuload )+ (disk+网络+外设 的负载 ==ioload)


CPU的使用:用户进程使用时间us、系统内核运行时间Sy、空闲时间idle、管理被抢占时间st

繁忙时: us+ys+st+si+hi+ni  等于cpu使用率的时间

空闲时: idle+wa 的时间


常见cpu耗时分析:

  • sy: 主要应用于上下文切换 (寄存器中的资源进行切换),  可能会有上下文切换的问题,上下文切换分为自愿和非自愿切换

自愿上下文切换: 可能是因为 内存瓶颈 

非自愿上下文切换: 可能是因为 cpu瓶颈, 抢占资源所导致的 (被迫执行优先级更高的指令或指令执行的时间已经到了  被迫中止当前的指令,去执行其他指令)

  • us&ni:   用户运行计算 可能是 cpu密集计算 或  死循环  或 FGC (  full gc,即对整个堆的垃圾回收 耗时长)
  • si: 软中断  可能是 资源不足或者io问题 导致的cpu抢占资源
  • wa :io 磁盘问题导致的 等待
  • st:宿主机抢占资源

load 和cpu 高时分析方法

场景1:sy 系统进程高 -------排查cpu的上下文切换

原因:

1 如果,非自愿上下文切换’多,说明cpu不够用,进程时间片到,被迫切换

2 如果   自愿上下文切换  多,说明计算用的资源不够用,可能存在I/0、内存瓶颈


场景2:si 软中断高 -------排查cpu抢占资源 结合sy 系统进程查看

1 sys高+si高            推导出===>内存 or 网络I/o问题----解决办法:排查内存 和 I/o

2  sys高 +si不高       推导出===>CPU瓶颈---解决办法之一:加CPU


场景3:us 用户进程态高 -------用户程序计算

密集计算 或 死循环 或 FGC,线程池  逐步排查

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/47221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于PHP+MySQL企业网络推广平台系统的设计与实现

企业网络推广平台系统具有很强的信息指导性特征,采用PHP开发企业网络推广平台系统 给web带来了全新的动态效果,具有更加灵活和方便的交互性。在Internet中实现数据检索越来越容易,可以及时、全面地收集、存储大量的企业资源信息以及进行发布、浏览、搜索相关的信息。让企业、个…

当世界杯撞上电商销售旺季,独立站卖家如何爆单不爆冷?

今年的世界杯频频爆冷,就像如今的天气一样,令人瑟瑟发抖。由于卡塔尔当地的特殊气候,2022年世界杯选择在冬季举行,于是就有了电商销售旺季遇上世界杯。两股热度叠加,造就了空前的销售时机。 感恩节、黑五、网一&#x…

CSDN【top1】Pytest接口测试框架实战项目搭建

一、前言 想想之前玩的框架,做的项目都是把数据用例冗余到一起的,不符合数据用例分离的思想,所以准备基于pytest搭建个测试框架,支持数据用例分离,接下来会用一系列文章逐步介绍整个框架是怎么搭建起来的。 二、项目结…

[附源码]计算机毕业设计springboot高校体育场馆管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

TMA三均线股票期货高频交易策略的R语言实现

趋势交易策略是至今应用最广泛以及最重要的投资策略之一,它的研究手段种类繁多,所运用的分析工具也纷繁复杂,其特长在于捕捉市场运动的大方向。股指期货市场瞬息万变,结合趋势分析方法,量化投资策略能够得到更有效的应…

项目使用smart-doc+Torna自动化创建api文档

首先部署Torna,我这里是用docker部署的 准备工作:1 docker 环境 2 torna 所需的sql脚本(可以去github 找最新的) DROP TABLE IF EXISTS compose_additional_page; CREATE TABLE IF NOT EXISTS compose_additional_page (id bigi…

jupyter使用教程及python语法基础

前言 上回说到搭建jupyter环境,今天的文章主要就是熟悉jupyter上的基本操作,以及python的一些基础语法。 正文 1、熟悉jupyter界面使用方法 通过命令行进入jupyter后,选择python3。 进去之后就是如下界面,要熟悉以下操作。当…

SAP ABAP——数据类型(二)【TYPES自定义数据类型详解】

💬个人网站:【芒果个人日志】​​​​​​ 💬原文地址:SAP ABAP——数据类型(二)【TYPES自定义数据类型详解】 - 芒果个人日志 (wyz-math.cn) 💂作者简介: THUNDER王,一名…

python学习笔记(11)---(模块与包)

第九章 模块与包 1.模块(modules) (1)概念:将实现某一特定功能的代码放置在一个文件中,以便于其他程序进行导入使用,可以避免函数名、变量名的冲突,该文件称为模块,拓展…

RtspServer之LibRtsp解决闪退 新增鉴权(用户名密码登录)

编程语言:C 目标平台:arm(hi3519)注:因为代码是纯C语言按道理可以移植到各种平台 基础库:librtsp(存在功能补全,有一定的bug) 因为项目需求需要在海思平台实现IPC…

C++ Reference: Standard C++ Library reference: Containers: list: list: crend

C官网参考链接&#xff1a;https://cplusplus.com/reference/list/list/crend/ 公有成员函数 <list> std::list::crend const_reverse_iterator crend() const noexcept; 返回反向结束的常量反向迭代器 返回一个const_reverse_iterator&#xff0c;指向容器中第一个元素…

领悟《信号与系统》之 采样定理

采样定理采样定理一、采样定理结论二、奈奎斯特间隔和频率计算公式及例题&#xff1a;三、信号自然采样&#xff08;脉冲采样&#xff09;四、信号理想采样&#xff08;冲激采样&#xff09;采样定理 连续时间信号也叫模拟信号。在一定条件之下&#xff0c;模拟信号可以用该信…

LDAP客户端操作方法

本文章简单介绍LDAP Admin客户端的使用方法&#xff0c;客户端工具地址为&#xff1a; https://download.csdn.net/download/u013896064/87209312 1、前提 我使用的是Ubuntu的虚拟机安装了一个LDAP服务&#xff0c;初始化完成并配置好密码&#xff0c;本次例子里面我使用的U…

nodejs+vue音乐网站与分享平台

目 录 摘 要 I 1 绪论 1 1.1研究背景 1 1.2研究现状 1 1.3研究内容 2 2 系统关键技术 3 2.1 Spring Boot框架 3 2.2 JAVA技术 3 2.3 MYSQL数据库 4 2.4 B/S结构 4 3 系统分析 5 3.1 可行性分析 5 3.1.1 技术可行性 5 3.1.2经济可行性…

Windows OpenGL 图像色彩替换

目录 一.OpenGL 图像色彩替换 1.原始图片2.效果演示 二.OpenGL 图像色彩替换源码下载三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 特效 零基础 OpenGL…

[附源码]计算机毕业设计JAVA网上花店系统

[附源码]计算机毕业设计JAVA网上花店系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…

SpringBoot基于若依项目工时统计成本核算管理源码带文字教程

该系统是前后端分离的架构&#xff0c;前端使用Vue2&#xff0c;后端使用SpringBoot2。 技术架构 技术框架&#xff1a;SpringBoot2.0.0 Mybatis1.3.2 Shiro swagger-ui jpa lombok Vue2 Mysql5.7 运行环境&#xff1a;jdk8 IntelliJ IDEA maven 宝塔面板 本地搭建文…

MySQL数据库行级锁之间隙锁、临键锁

间隙锁 默认情况下&#xff0c;InnoDB在 REPEATABLE READ事务隔离级别运行&#xff0c;InnoDB使用 next-key 锁进行搜索和索引扫描&#xff0c;以防止幻读。 索引上的等值查询(唯一索引)&#xff0c;给不存在的记录加锁时, 优化为间隙锁 。索引上的等值查询(非唯一普通索引)&…

数据字典功能

我们在项目中会有很多的下拉框,这些下拉框都有一个特点,就是键值对的存在 实现方案: 直接硬编码写在html代码中, 缺点:新增修改需要修改代码为每个下拉框都设计一个表&#xff0c;然后提供CRUD功能 , 缺点 : 很多表,很多重复的CRUD代码使用数据字典的方式 ,使用字典类型表和字…

CTFHUB-web-SQL注入

整数型注入 字符型注入 得到数据库名 sqli http://challenge-f7a63a00793e62c6.sandbox.ctfhub.com:10800/?id-1 union select 1,database() 爆sqli数据库的数据表 爆flag表的所有列&#xff1a; http://challenge-f7a63a00793e62c6.sandbox.ctfhub.com:10800/?id-1 union s…