软件测试CPU基础知识

2023-11-02

1 cpu和程序的执行

PC:程序计数器
堆栈指针:每个程序都有一个栈
PSW:程序的状态

2 CPU两种运行状态:用户态、内核态

Linux内部结构
在这里插入图片描述
top命令查看
CPU sy:内核消耗的指标;us :用户消耗的指标
一般us:ys=4:!
在这里插入图片描述

3 CPU的多核和多线程

物理核:
逻辑核:
超线程:
cpu信息保存在/pro/cpuinfo

查看cpu核数的方法

1)统计物理核个数
cat proc/cpuinfo | grep ‘physical id’ | sort | uniq | wc -l
逻辑核个数
cat proc/cpuinfo | grep ‘corel id’ | sort | uniq | wc -l
总逻辑CPU统计数线程数
cat proc/cpuinfo | grep ‘processor’ | sort | uniq | wc -l
2)top
3)lscpu

4 CPU使用率

4.1 使用率的标准50 70 90

50 %以下不用关注
70%要告警
90%cpu需要优化
这个是针对于单核的标准,不适合现在的服务器

4.2 单核CPU

1)CPU使用率70%
2)CPU空闲率:1-70%=30%

4.3 四核CPU

总的CPU400%:400*70%=280%
总的空闲率:400%-280%=120%

4.4 八核CPU

总的CPU800%:800*70%=560%
总的空闲率:800%-560%%=240%

4.5 实例

需求1:至少要100%空闲时间,少于100%
4核:400%-100%=300%
300%/400%=75%
相当于75%就要进行报警

5 CPU队列

系统平均负载
1)系统负载<=CPU总核数,表示系统不忙,
系统负载如下:
在这里插入图片描述
2)CPU总核数<=系统负载<=CPU总核数3 ,不确定,需要结合其他资源来分析
3)系统负载>=CPU总核数
3,表示系统忙
4)系统负载是通过运行状态+阻塞状态的进程计算出来的

6 中断

分硬中断和软中断
硬中断:由硬件产生
硬中断数是记录在/proc/interrupts
在这里插入图片描述

7 上下文切换

1)上下文:存储cpu正在执行的指令位置,下一条指令的位置
2)上下文切换:保存上一个任务的上下文到内核,加载新任务的上下文,运行新任务,新任务运行完后,再次高度上一个任务
in中断,cs为
在这里插入图片描述

3)查看线程状态,2461是进程号
top -Hp 2461
在这里插入图片描述
PID十进制转换为十六进制

jstack 2641 | grep -AIO -BIO a65
在这里插入图片描述

jd-gui 反编译工具,查看class文件,直接拖入class文件就可以了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

软件测试CPU基础知识 的相关文章

  • 使用 sh 运行 bash 脚本

    我有 bash 脚本 它需要 bash 另一个人尝试运行它 sh script name sh 它失败了 因为 sh 是他的发行版中 dash 的符号链接 ls la bin sh lrwxrwxrwx 1 root root 4 Aug
  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索
  • 如何在 Bash 中给定超时后终止子进程?

    我有一个 bash 脚本 它启动一个子进程 该进程时不时地崩溃 实际上是挂起 而且没有明显的原因 闭源 所以我对此无能为力 因此 我希望能够在给定的时间内启动此进程 如果在给定的时间内没有成功返回 则将其终止 有没有simple and r
  • 是否可以创建一个脚本来保存和恢复权限?

    我正在使用 Linux 系统 需要对一组嵌套文件和目录进行一些权限实验 我想知道是否没有某种方法可以保存文件和目录的权限 而不保存文件本身 换句话说 我想保存权限 编辑一些文件 调整一些权限 然后将权限恢复到目录结构中 将更改的文件保留在适
  • 按进程名称过滤并记录 CPU 使用情况

    Linux 下有选项吗顶部命令 https www man7 org linux man pages man1 top 1 html我可以在哪里按名称过滤进程并将每秒该进程的 CPU 使用情况写入日志文件 top pgrep 过滤输出top
  • 如何在基于 Linux 的系统上的 C 程序中使用 mqueue?

    如何在基于 Linux 的系统上的 C 程序中使用 mqueue 消息队列 我正在寻找一些好的代码示例 可以展示如何以正确且正确的方式完成此操作 也许是一个操作指南 下面是一个服务器的简单示例 该服务器接收来自客户端的消息 直到收到告诉其停
  • php exec 返回的结果比直接进入命令行要少

    我有一个 exec 命令 它的行为与通过 Penguinet 给 linux 的相同命令不同 res exec cd mnt mydirectory zcat log file gz echo res 当将命令直接放入命令行时 我在日志文件
  • Linux:如何设置进程的时区?

    我需要设置在 Linux 机器上启动的各个进程的时区 我尝试设置TZ变量 在本地上下文中 但它不起作用 有没有一种方法可以使用与系统日期不同的系统日期从命令行运行应用程序 这可能听起来很愚蠢 但我需要一种sandbox系统日期将被更改的地方
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • Fortran gfortran linux 中的“分段错误(核心转储)”错误

    我正在创建一个程序 该程序将分析目录中的文件 fits 然后它将在另一个目录中创建另一个文件 txt 它只是一个转换器 当我尝试执行该程序 编译正常 时 它给了我一条错误消息 程序收到信号 SIGSEGV 分段错误 无效的内存引用 此错误的
  • Windows CE 与嵌入式 Linux [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 现在我确信我们都清楚 Linux 与 Windows 桌面的相对优点 然而 我对嵌入式开发世界的了解却少得多 我主要对行业解决方案感兴
  • 捕获实时流量时如何开启纳秒精度?

    如何告诉 libpcap v1 6 2 将纳秒值存储在struct pcap pkthdr ts tv usec 而不是微秒值 捕获实时数据包时 Note This question is similar to How to enable
  • 如何允许应用程序声明“https”方案 URI? (即如何从 https URL 打开桌面应用程序?)

    目前我正在尝试为 OAuth 2 0 授权流程创建一个客户端 实际上是一个本机应用程序 并且在规范中就在这儿 https www rfc editor org rfc rfc8252 section 7 2据说有 3 种方法来处理重定向 U
  • 从 systemd bash 内联脚本创建 filename_$(date %Y-%m-%d)

    我正在尝试执行systemd计时器并希望将执行脚本的输出保存在每个日期的文件中 这是我的ExecStart脚本中的 service file ExecStart bin bash c echo date Y m d gt gt home u
  • 警告:请求的映像平台 (linux/amd64) 与检测到的主机平台 (linux/arm64/v8) 不匹配

    警告 请求的映像平台 linux amd64 与检测到的主机平台 linux arm64 v8 不匹配 并且未请求特定平台 docker 来自守护程序的错误响应 无法选择具有功能的设备驱动程序 gpu 我在 mac 上尝试运行此命令时遇到此
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • 限制 Imagemagick 使用的空间和内存

    我在 Rails 应用程序上使用 Imagemagick 使用 rmagick 但我的服务器 Ubuntu 不是很大 当我启动转换进程时 Imagemagick 占据了我的服务器 30GB HDD 的所有位置 内存 我想限制内存和 tmp
  • 如何在 GNU/Linux 上设置 Subversion (SVN) 服务器 - Ubuntu [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一台运行 Ubuntu 的笔记本电脑 我想将其用作 Subversion 服务器 既让我自己在本地承诺 也让其他人远程承诺 要使其
  • 如何从 PROC 获取有关子进程的信息

    我正在尝试编写一个以几个进程作为参数的程序 然后父进程执行每个子进程并打印出一些相关的统计信息 示例 generate ls l 将生成一个程序 打印出有关 ls l 的一些统计信息 特别是其系统时间 用户时间和上下文切换次数 我不想使用

随机推荐

  • 【Mybatis-puls 】返回map下划线自动转成驼峰

    文章目录 问题描述 1 yml配置解决方案 错误分析 解决方案 转换器代码 ConfigurationPropertiesBinding的作用 2 通过Java配置bean解决 觉得第一种麻烦的直接用第二种 问题描述 VO实体类自动转换驼峰
  • 使用plsql工具查看oracle中的blob字段的可视化值

    SELECT utl raw cast to varchar2 dbms lob substr t detailsql from Voucher t
  • 每天一个设计模式——装饰模式(C++实现)

    设计模式的代码十分难写的 要充分的体现可复用性 网上有着大量关于设计模式的代码 其中很多的代码违背了很多设计原则 比如依赖倒置原则 开放封闭原则 需要我们明辨是非 设计模式的原则大于使用哪个设计模式 类的组合关系也大于类的继承 通过不断的写
  • ECCV 2022

    作者 机器之心编辑部 来源 机器之心 如何将现有的图像 文本多模态大模型 例如 OpenAI CLIP 用于视频内容理解 是一个非常实用且具有前景的研究课题 它不仅可以充分挖掘图像大模型的潜力 还可以为视频大模型的设计和研究铺平道路 在视频
  • 年轻人还记得KCP吗?什么是KCP,怎么使用呢!!!

    一 什么是KCP KCP是一种网络传输协议 A Fast and Reliable ARQ Protocol 可以视它为TCP的代替品 但是它运行于用户空间 它不管底层的发送与接收 只是个纯算法实现可靠传输 它的特点是牺牲带宽来降低延迟 因
  • C51单片机学习笔记(二)——花样流水灯的实现

    C51单片机学习笔记 二 花样流水灯的实现 文章目录 C51单片机学习笔记 二 花样流水灯的实现 1 单片机引脚 晶振 复位的作用 2 流水灯原理图 3 单片机的周期 4 延时函数的编写 5 使用 位操作 控制流水灯 6 使用字节控制 并行
  • lenovo联想笔记本ThinkBook 14 Gen5+ IRH(21HW)原装Win11系统镜像原厂OEM恢复出厂状态

    LENOVO联想笔记本电脑 ThinkBook 14 Gen5 IRH 21HW 原厂Windows11原装OEM系统 恢复出厂时状态系统 系统自带所有驱动 出厂主题壁纸LOGO Office办公软件 联想电脑管家等预装程序 所需要工具 1
  • java客户端作为kafka消费者测试

    README 本文主要对 java客户端作为kafka 消费者进行测试 生产者由 kafka客户端扮演 1 普通消费者 设置消费者组 重置消费者的offset 即每次都从最头开始消费 默认仅保持7天内数据 类似于 命令行 from begi
  • 【node.js】Node.js下载安装(在vscode中使用)01

    博 主 初映CY的前说 个人信条 想要变成得到 中间还有做到 本文核心 Node js的下载安装操作 目录 一 node介绍 二 node js下载安装 一 node介绍 Node js是一个Javascript运行环境 runtime 实
  • Java句柄与指针

    java中的句柄分为两种 对象句柄 jvm中对象访问句柄 一 对象句柄 句柄 一个唯一的整数 作为对象的身份id 区分不同的对象 和同类中的不同实例 程序可以通过句柄访问对象的部分信息 句柄不代表对象的内存地址 在Java中的任何东西都可以
  • mysql 用户量,MySQL ── 用户数全球排名第一的免费开源关系型数据库

    MySQL 是一种关联数据库 关联数据库会将数据保存在不同表中 而不是将所有数据放在一个大仓库内 这样就增加了速度并提高了灵活性 MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言 MySQL 软件采用了双 授权政策 社区
  • 打开qt文件报“could not decode ... with “UTF-8“ -encoding” Editting not possible

    从别人那拷来的qt程序 报错如下 深入解决不能在文件编辑中切换中文输入的问题 仔细按照以下三步操作 可以解决 1 点击 Select Encoding 按编码重新载入GB2312格式或者GBK 虽然能编辑代码但仍不能切换中英文输入 此时 应
  • 使用ftp实现windows和ios的公网文件夹共享

    请注意 本文主要研究的是如何实现在公网环境下 即电脑和ipad或iPhone设备不在同一网络下 实现文件夹共享 如果你想实现的仅仅是局域网间的文件夹共享 可以参考博客使用SMB和ipad自带的文件app实现 操作简单实现快ipad和wind
  • 设计模式:解释器模式

    定义 给定一种语言 定义他的文法的一种表示 并定义一个解释器 该解释器使用该表示来解释语言中句子 类型 行为类模式 类图 解释器模式是一个比较少用的模式 本人之前也没有用过这个模式 下面我们就来一起看一下解释器模式 解释器模式的结构 抽象解
  • reduce端join算法实现

    数据 订单数据表order date pid amount 20150710 P0001 2 20150710 P0002 3 商品信息表product pid pname category id price P0001 小米5 1000
  • linux系统下的动态壁纸,Ubuntu 10.04下实现动态桌面壁纸

    不知大家在使用Ubuntu时有没有注意到 Ubuntu下是可以实现多张壁纸动态切换的 好像Win7下也有类似的功能 曾经使用 win7一段时间 我也是最近才注意到这点 下面是在Ubuntu 10 04下实验的 之前版本的应该也可以 实现原理
  • typescript第五天—联合类型和类型保护、Enum枚举类型

    联合类型和类型保护 联合类型展示 所谓联合类型 可以认为一个变量可能有两种或两种以上的类型 用代码举个例子 声明两个接口Waiter 服务员 接口和Teacher 技师 接口 然后在写一个judgeWho 判断是谁 的方法 里边传入一个an
  • 每天一个小题目——公交车乘客

    题目描述 一个公交车经过n个站点 乘客从前门上车 从后门下车 现在统计了在第i个站 下车人数a i 以及上车人数b i 问公交车运行时候车上最多有多少乘客 输入 第一行读入一个整数n 1 lt n lt 100 表示有n个站点 接下来n行
  • 宝塔面板网站解决跨域问题

    宝塔面板网站解决跨域问题解决方案如下 1 如果使用的nginx 打开网站的设置 找到配置文件 添加如下代码 代码如下 add header Access Control Allow Origin add header Access Cont
  • 软件测试CPU基础知识

    1 cpu和程序的执行 PC 程序计数器 堆栈指针 每个程序都有一个栈 PSW 程序的状态 2 CPU两种运行状态 用户态 内核态 Linux内部结构 top命令查看 CPU sy 内核消耗的指标 us 用户消耗的指标 一般us ys 4