Linux 实时性能测试工具--Cyclictest

2023-10-13 11:40

本文主要是介绍Linux 实时性能测试工具--Cyclictest,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Cyclictest的安装和使用

  • 前言
  • 一、下载并安装Cyclictest
  • 二、Cyclictest计算延时的原理
  • 三、Cyclictest的使用
    • 1.使用参数介绍
    • 2.输出数据分析
  • 总结


前言

Cyclictest是一个高精度的测试程序,Cyclictest 是 rt-tests 下的一个测试工具,也是rt-tests 下使用最广泛的测试工具,一般主要用来测试使用内核的延迟,从而判断内核的实时性。

一、下载并安装Cyclictest

# 安装需要的numa库
# apt指令
sudo apt install libnuma-dev
# yum指令
yum install numactl-develgit clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
cd rt-tests
make 
sudo make install

二、Cyclictest计算延时的原理

简单来说就是程序会记录进程睡眠的开始时间t1而进程的实际睡眠时间时t2,但程序真正唤醒并运行的时间时t3。所以是t3-t2-t1得出的结果即为延时。

三、Cyclictest的使用

1.使用参数介绍

cyclictest -m -S -p 80 -i 1000 -d 0
optionsvalue
-a N在处理器N上运行
-A USEC将线程唤醒对齐到特定的偏移量USEC
-b USEC当延时>USEC时 发送中断
-c CLOCK选择时钟 0 = CLOCK_MONOTONIC (默认) 1 = CLOCK_REALTIME
-d DIST线程间隔的距离DIST,默认为500
-D指定运行时常,附加m、h、d 来指定分钟、小时、天
-F在path上创建一个命名管道并向其写入统计信息
-h运行后将延迟直方图转储到标准输出
-H与-h相同,只是增加了一个汇总列
-i INTV线程的基本间隔INTV。默认为1000us
-l LOOPS循环次数LOOPS,默认=0(无限)
-m锁定当前和未来的内存分配
-M延迟更新屏幕,直到新的最大延迟被击中。适用于低带宽
-N使用单位为ns 默认为us
-o RED示波器模式,减少RED输出的冗余
-p PRIO设置线程优先级为PRIO
-q仅在退出时打印
-r使用相对计时器而不是绝对计时器
-t N使用CPU的数量,默认为1
-S标准SMP测试:选项-a -t和所有线程的相同优先级

也可以使用 Cyclictest --help 进行查看

2.输出数据分析

cyclictest_output

输出含义
T0 序号为0的线程
P80 线程优先级为800
I1000 时间间隔为1000微秒(us)
C15607计数器。线程的时间间隔每达到一次,计数器加1
Min最小时延(us)
Act最近一次的时延(us)
Avg平均时延(us)
Max最大时延(us)

总结

以上就是今天要讲的内容,本文简单介绍了Cyclictest的使用以及原理。希望对大家有所帮助。

这篇关于Linux 实时性能测试工具--Cyclictest的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/202947

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

黑神话,XSKY 星飞全闪单卷性能突破310万

当下,云计算仍然是企业主要的基础架构,随着关键业务的逐步虚拟化和云化,对于块存储的性能要求也日益提高。企业对于低延迟、高稳定性的存储解决方案的需求日益迫切。为了满足这些日益增长的 IO 密集型应用场景,众多云服务提供商正在不断推陈出新,推出具有更低时延和更高 IOPS 性能的云硬盘产品。 8 月 22 日 2024 DTCC 大会上(第十五届中国数据库技术大会),XSKY星辰天合正式公布了基于星

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta