深入理解stress/stress-ng

文章目录

  • 一、概述
  • 二、安装
    • 2.1、源码编译安装
    • 2.2、命令行安装
    • 2.3、安装确认
  • 三、重要参数详解
    • 3.1、查询支持的参数
    • 3.2、重要参数说明
  • 四、实例
    • 4.1、压测CPU
    • 4.2、压测内存
    • 4.3、压测IO
    • 4.4、压测磁盘及IO
    • 4.5、压测磁盘及CPU


  团队博客: 汽车电子社区


一、概述

  stress是一种工作负载生成器工具,主要用于系统CPU、内存、I/O 和磁盘压力的可配置测量。
  stress-ng是压力工作负载生成器工具的更新版本,可测试系统的以下功能:
    1、CPU 计算。
    2、驱动压力。
    3、I/O 同步。
    4、管道 I/O。
    5、缓存抖动。
    6、虚拟机压力。
    7、socket压力。
    8、进程创建和终止。
    9、上下文切换属性。

二、安装

2.1、源码编译安装

  源码编译安装请参考如下命令:

// 下载源码
wget https://github.com/ColinIanKing/stress-ng/archive/refs/tags/V0.17.04.tar.gz

在这里插入图片描述  解压源码包请参考如下命令:

// 解压源码包
tar zxvf V0.17.04.tar.gz

  解压命令执行结果如下:

lyb@lyb:~/learn$ tar zxvf V0.17.04.tar.gz 
stress-ng-0.17.04/
stress-ng-0.17.04/.github/
stress-ng-0.17.04/.github/FUNDING.yml
stress-ng-0.17.04/.github/workflows/
stress-ng-0.17.04/.github/workflows/container-image-edge.yml
stress-ng-0.17.04/.github/workflows/container-image-stable.yml
stress-ng-0.17.04/.gitignore
stress-ng-0.17.04/.travis.yml
stress-ng-0.17.04/COPYING
stress-ng-0.17.04/Dockerfile
stress-ng-0.17.04/Makefile
stress-ng-0.17.04/Makefile.config
stress-ng-0.17.04/README.Android......stress-ng-0.17.04/test/test-vhangup.c
stress-ng-0.17.04/test/test-vla-arg.c
stress-ng-0.17.04/test/test-vmsplice.c
stress-ng-0.17.04/test/test-vt_consize.c
stress-ng-0.17.04/test/test-vt_mode.c
stress-ng-0.17.04/test/test-vt_sizes.c
stress-ng-0.17.04/test/test-vt_stat.c
stress-ng-0.17.04/test/test-wait3.c
stress-ng-0.17.04/test/test-wait4.c
stress-ng-0.17.04/test/test-waitid.c
stress-ng-0.17.04/test/test-waitpid.c
stress-ng-0.17.04/test/test-wchar.c
stress-ng-0.17.04/test/test-wcsfunc.c
stress-ng-0.17.04/test/test-winsize.c
stress-ng-0.17.04/usr.bin.pulseaudio.eg
lyb@lyb:~/learn$

  编译源码请参考如下命令:

// 编译源码
make

  编译命令执行结果如下:
在这里插入图片描述
  按照请参考如下命令:

sudo make install

  安装命令执行结果如下:
在这里插入图片描述

2.2、命令行安装

  Ubuntu下执行如下命令进行安装:

sudo apt-get install stress-ng

  命令行安装执行结果如下:
在这里插入图片描述

2.3、安装确认

  执行如下命令来确认stress-ng是否安装成功:

stress-ng --version

在这里插入图片描述

三、重要参数详解

3.1、查询支持的参数

  执行如下命令来确认stress-ng是否安装成功:

man stress-ng
#或者
stress-ng --help

3.2、重要参数说明

语法格式:
stress <options>常用选项:-c, --cpu N                产生 N 个进程,每个进程都反复不停的计算随机数的平方根-i, --io N                 产生 N 个进程,每个进程反复调用 sync() 将内存上的内容写到硬盘上-m, --vm N                 产生 N 个进程,每个进程不断分配和释放内存--vm-bytes B           指定分配内存的大小--vm-stride B          不断的给部分内存赋值,让 COW(Copy On Write)发生--vm-hang N            指示每个消耗内存的进程在分配到内存后转入睡眠状态 N 秒,然后释放内存,一直重复执行这个过程--vm-keep              一直占用内存,区别于不断的释放和重新分配(默认是不断释放并重新分配内存)-d, --hadd N               产生 N 个不断执行 write 和 unlink 函数的进程(创建文件,写入内容,删除文件)--hadd-bytes B         指定文件大小-t, --timeout N            在 N 秒后结束程序        --backoff N                等待N微妙后开始运行-q, --quiet                程序在运行的过程中不输出信息-n, --dry-run              输出程序会做什么而并不实际执行相关的操作--version                  显示版本号-v, --verbose              显示详细的信息

四、实例

4.1、压测CPU

  使用如下命令进行CPU压测:

# 使用8个CPU进程数,进行矩阵乘法计算进行压力测试,持续时间为60秒。
stress-ng --cpu 8 --cpu-method matrixprod --timeout 60s

  执行CPU压测命令结果如下:
在这里插入图片描述
在这里插入图片描述

4.2、压测内存

  使用如下命令进行内存压测:

# 开启2个进程分配内存,每次分配1GB内存,保持60秒后释放,60秒后退出。
stress --vm 2 --vm-bytes 1G --vm-hang 60 --timeout 60s

  执行内存压测命令结果如下:
在这里插入图片描述
在这里插入图片描述

4.3、压测IO

  使用如下命令进行IO压测:

# 4 个进程,每个进程都反复调用 sync 函数将内存上的内容写到硬盘上
stress -i 4

  执行IO压测命令结果如下:
在这里插入图片描述
在这里插入图片描述

4.4、压测磁盘及IO

  使用如下命令进行磁盘和IO压测:

# 一个进程不断的在磁盘上创建 10M 大小的文件并写入内容:
stress-ng -d 10 --hdd-bytes 100M

  执行磁盘和IO压测命令结果如下:
在这里插入图片描述
在这里插入图片描述

4.5、压测磁盘及CPU

  使用如下命令进行磁盘和CPU:

# 使用4个CPU进程,2个I/O进程,测试60秒
stress-ng --cpu 4 -i 2 --timeout 60s

  执行IO压测命令结果如下:
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

电子行业含砷废水,深度除砷技术

砷是一种类金属元素&#xff0c;砷化物生物毒性极强&#xff0c;是国际公认的第一类致癌物。因此&#xff0c;这些含砷废水必须经过一定的处理才能排放到环境中。那么&#xff0c;哪些行业会产生含砷废水呢?在地球上&#xff0c;砷是一种常见的元素。在自然界中&#xff0c;砷…

2023年CSDN年底总结-独立开源创作者第一年

2023年最大的变化&#xff0c;就是出来创业&#xff0c;当独立开源创作者&#xff0c;这一年发起SolidUI开源项目&#xff0c;把知乎重新开始运营起来。CSDN粉丝破万&#xff0c;CSDN博客专家和AI领域创作者。 2023年年度关键词&#xff1a;创业 https://github.com/CloudOrc…

SpringBoot责任链与自定义注解:优雅解耦复杂业务

引言 责任链模式是一种行为设计模式&#xff0c;它允许你将请求沿着处理者链进行传递&#xff0c;直到有一个处理者处理请求。在实际应用中&#xff0c;责任链模式常用于解耦发送者和接收者&#xff0c;使得请求可以按照一定的规则被多个处理者依次处理。 首先&#xff0c;本…

如何区分 html 和 html5?

HTML&#xff08;超文本标记语言&#xff09;和HTML5在很多方面都存在显著的区别。HTML5是HTML的最新版本&#xff0c;引入了许多新的特性和元素&#xff0c;以支持更丰富的网页内容和更复杂的交互。以下是一些区分HTML和HTML5的关键点&#xff1a; 新特性与元素&#xff1a;H…

zabbix 安装和启动报错处理

zabbix 安装报错处理 yum安装agent或者proxy报错解决办法&#xff0c;yum源取消检查配置 对已经安装好的zabbix 报错解决办法 yum安装agent或者proxy报错 配置官方源 rpm -ivh https://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpmyum安装报…

搭建k8s集群实战(三)安装配置containerd、kubelet、kubeadm、kubectl

k8s在1.24之后,使用containerd代码docker提供容器服务。 下面说明如果安装containerd,并设置镜像仓库。 添加源 yum install -y yum-utilsyum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安装containerd 由于CentOS 8 默…

Ceph篇之利用Prometheus监控ceph服务

一、Ceph内置模块 Ceph manager 内部的模块中包含了 prometheus 的监控模块,并监听在每个 manager 节点的 9283 端口&#xff0c;该端口用于将采集到的信息通过 http 接口向 prometheus 提供数据。 二、监控搭建 1、启用 prometheus 监控模块 ceph mgr module enable promethe…

研究性学习:当地能源资源调查

1. 课题名称 当地能源资源调查 2. 起止时间 起始时间:2024年1月25日 结束时间:2024年2月20日 3. 项目组成员 组长:王五组员:赵六、钱七校内指导教师:李老师校外指导教师:能源专家刘教授4. 组员分工情况 搜集整理资料: 王五:负责搜集西安市能源资源的分布情况、使用…

Java+Spring Cloud +Vue+UniApp微服务智慧工地云平台源码

目录 智慧工地云平台功能 【劳务工种】所属工种有哪些&#xff1f; 1.管理人员 2.信息采集 3.证件管理 4.考勤管理 5.考勤明细 6.工资管理 7.现场统计 8.WIFI教育 9.课程库管理 10.工种管理 11.分包商管理 12.班组管理 13.项目管理 智慧工地管理平台是以物联网、…

Windows物理主机迁移至VMware ESXI服务器

文章目录 物理主机迁移至VMware ESXI服务器一、迁移环境二、迁移步骤&#xff11;、主机A准备工作&#xff11;、关闭主机A的防火墙&#xff12;、主机A需要设置管理员密码&#xff13;、主机A需要设置允许共享访问 &#xff12;、主机B操作步骤1、安装**VMware vCenter Conver…

鸿蒙开发第2篇__装饰器

在ArkTS中&#xff0c; 有装饰器语法。 装饰器用于装饰类、结构、方法、变量&#xff0c;赋予其特殊的含义。 1. Component 表示自定义组件&#xff0c; 用此装饰器的组件是可重用的&#xff0c;可以与其他组件重合 此装饰器装饰的 struct 表示该结构体具有组件化能力&#…

Java复习系列之阶段二:数据库(2)

1. 基础语法 1.1 DQL&#xff08;数据查询语句&#xff09; 执行顺序&#xff1a; from、join 、on、where、group by、having、select、distinct、order by、limit 1.2 DML&#xff08;数据修改语言&#xff09; 对数据表的增删改 insert into update set delete form 1.…

新年短信群发选择自己发还是106短信平台合适?

选择自己发新年短信群发还是106短信平台&#xff0c;取决于您的需求和资源。 如果您需要发送的短信数量较少&#xff0c;或者您有特定的发送需求&#xff0c;例如需要发送一些包含敏感信息的短信&#xff0c;那么您可以选择自己发送。您可以使用手机或电脑上的短信应用程序来发…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 1月26日,星期五

每天一分钟&#xff0c;知晓天下事&#xff01; 2024年1月26日 星期五 农历腊月十六 1、 教育部&#xff1a;保障符合就业条件的公费师范生有编有岗&#xff0c;全部落实任教学校。 2、 禁用有毒有害材料&#xff01;我国首部快递包装强制性国家标准6月1日实施。 3、 中疾控&…

仿真机器人-深度学习CV和激光雷达感知(项目2)day8【作业2与答案2】

文章目录 前言作业2答案2前言 💫你好,我是辰chen,本文旨在准备考研复试或就业 💫本文内容是我为复试准备的第二个项目 💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容 🌟 预置知识:基本Python语法,基本linux命令行使用 以下的几个专栏是本人比较满意的…

BabylonJS 6.0文档 Deep Dive 摄像机(六):遮罩层和多相机纹理

1. 使用遮罩层来处理多个摄影机和多网格物体 LayerMask是分配给每个网格&#xff08;Mesh&#xff09;和摄像机&#xff08;Camera&#xff09;的一个数。它用于位&#xff08;bit&#xff09;级别用来指示灯光和摄影机是否应照射或显示网格物体。默认值为0x0FFFFFFF&#xff…

Ubuntu 16 让ufw防火墙控制docker容器中所有端口

使用docker ps 查询docker在运行端口。 rootai-0003:~# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …

JOSEF约瑟 过电流继电器 JL15-1200/11 一开一闭 吊车起重机交直流可用

系列型号 JL15-/11: JL15-1.5/11电流继电器JL15-2.5/11电流继电器 JL15-5/11电流继电器JL15-10/11电流继电器 JL15-15/11电流继电器JL15-20/11电流继电器 JL15-30/11电流继电器JL15-40/11电流继电器 JL15-60/11电流继电器JL15-80/11电流继电器 JL15-100/11电流继电器JL1…

code server安装使用教程

1. 安装 1.1. 下载code-server安装包 类似这种文件&#xff1a;code-server-3.10.2-linux-amd64.tar.gz 解压&#xff1a;tar -xvf code-server-3.10.2-linux-amd64.tar.gz 1.2 &#xff08;可选&#xff09;建立软连接 ln -s path/to/code-server-3.10.2-linux-amd64/bin…

音频前置放大器电路图大全

音频前置放大器电路图&#xff08;一&#xff09; 在本设计中&#xff0c;前置放大器的增益控制采用直流音量控制方式&#xff0c;其具体实现如图1所示。前置放大器是由全差分运放和电阻构成的反相比例放大器&#xff0c;其增益由反馈电阻与输人电阻的比值决定。外部输人的直流…