stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户。

1. stress1.0.4下载地址

下载:https://fossies.org/linux/privat/stress-1.0.4.tar.gz

2.安装stress

将下载的stress-1.0.4.tar.gz复制到“/usr/local/src/”目录下
#切换目录
cd /usr/local/src #解压tar.gz包
tar -xzpvf stress-1.0.4.tar.gz #进入解压目录
cd stress-1.0.4 #开始安装
./configure make make check make install make clean

 3.stress使用说明

Stress 选项说明:

-?

--help #显示帮助信息

----------------------------------------------

--version #显示软件版本信息

----------------------------------------------

-v

--verbose #显示详细运行信息

----------------------------------------------

-q

--quiet  #不显示运行信息

----------------------------------------------

-n

--dry-run  #显示已经完成的指令执行情况

----------------------------------------------

-t secs

--timeout secs  #指定运行多少秒

----------------------------------------------

--backoff usecs  #等待usecs微秒后才开始执行

----------------------------------------------

-c forks

--cpu forks  #产生多个处理sqrt()函数的CPU进程

----------------------------------------------

-i forks

--io forks  #产生多个处理sync()函数的磁盘I/O进程

----------------------------------------------

-m forks

--vm forks  #产生多个处理malloc()内存分配函数的进程

----------------------------------------------

--vm-bytes bytes  #指定内存的Bytes数,默认值是1(与--vm-hang配合使用)

----------------------------------------------

--vm-hang  #指示每个消耗内存的进程在分配到内存后转入休眠状态,与正常的无限分配和释放内存的处理相反,这有利于模拟只有少量内存的机器;例如,下面命令运行时就会分配到并一直持有256M内存,直到进程被终止;

% stress --vm 2 --vm-bytes 128M --vm-hang

----------------------------------------------

-d forks

--hdd forks  #产生多个执行write()函数的进程

----------------------------------------------

--hdd-bytes bytes  #指定写的Bytes数,默认是1GB

----------------------------------------------

--hdd-noclean  #不要将写入随机ASCII数据的文件Unlink
注意:时间单位可以为秒s,分m,小时h,天d,年y,文件大小单位可以为K,M,G 示例:
一个简单的例子就是你只想给系统一个随机负载,此命令产生13个进程,每个进程都反复不停的计算由rand()产生随机数的平方根 ---------------------------------------------- % stress -c 13 #Stress支持很多选项,可以指定仅显示有限的运行信息,以下命令产生1024个进程,仅显示出错信息 ---------------------------------------------- % stress --quiet --cpu 1k #为了观察系统何时达到I/O极限,可以使用选项“-i”,以下指令产生4个进程,每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上 ---------------------------------------------- % stress -i 4 #可以在一条指令中使用多个消耗资源的选项,如下指令表示显示运行信息,一分钟后终止运行(13个CPU进程,4个I/O进程) ---------------------------------------------- % stress -c 13 -i 4 --verbose --timeout 1m #你也可以指定向磁盘中写入固定大小的文件,这个文件通过调用mkstemp()产生并保存在当前目录下,默认是文件产生后就被执行unlink(清除)操作,但是你可以使用“--hdd-bytes”选项将产生的文件全部保存在当前目录下,这会将你的磁盘空间逐步耗尽 ---------------------------------------------- % stress -d 1 --hdd-noclean --hdd-bytes 13 #可以支持生成大文件 % stress -d 1 --hdd-noclean --hdd-bytes 3G ----------------------------------------------

4.测试方式

建议开启三个 Xshell连接终端。

第一个终端:

测试一

运行 stress 命令,模拟一个 CPU 使用率 100%,运行10分钟的场景

#一个cpu使用率100%,运行10分钟场景
stress --cpu 1 --timeout 600

测试二

主要测试硬盘,生成文件放到硬盘内

#var下创建测试目录
mkdir -p /var/test #切换到test目录
cd /var/test #测试硬盘,生成800k大小的文件,写到硬盘内
stress -d 1 --hdd-noclean --hdd-bytes 800k

测试三

提升cpu与cpu使用率的测试 ,生成文件放到硬盘内

#还是切换到 /var/test/ 测试目录下,没有的新建一个
cd /var/test #增大“c”值提高cpu数;增大“i”值提高CPU的使用率;增大“d”值会减少CPU的使用率,从而增加对硬盘的数据写入量,但是对内存要求不高
stress -c 4 -i 4 -d 1 --hdd-noclean --hdd-bytes 800k

测试四

提升vm值,测试内存使用率,生成文件放到硬盘内

#还是切换到 /var/test/ 测试目录下,没有的新建一个
cd /var/test #增大“vm”、“--vm-bytes” 或 “—vm-hang” 选项的值都会提高内存的使用率
stress -c 1 -i 1 --vm 6 --vm-bytes 128M -d 2 --hdd-noclean --hdd-bytes 800k #注意:
#运行过程中,您可以通过进入其他终端,执行“df”命令,查看磁盘是否已满(也就是/var/test是否已满),如果磁盘已满,则程序“stress”会报错并终止。
#如果报错终止执行以下操作,清空测试目录,如果有需要;进入到测试目录下(/var/test或者别的目录),继续运行“stress”进行测试 #给/var/test赋权限
chmod -R 755 /var/test #清空目录
rm -R -f /var/test/ #切换目录
cd /var/test/ #接着测试(vm-bytes可以下降点继续测试)
stress -c 1 -i 1 --vm 6 --vm-bytes 128M -d 2 --hdd-noclean --hdd-bytes 800k

第二个终端:

运行 uptime 查看平均负载的变化情况

#查看平均负载变化
uptime

查看动态平均负载情况命令如下:

#动态平均负载情况
watch -d uptime

第三个终端:

mpstat命令监控cpu

运行 mpstat 查看 CPU 使用率的变化情况

#查看cpu使用率的变化情况
mpstat

监控所有cpu,每隔一段时间输出一组数据

#监控所有 CPU,后面数字 5 表示间隔 5 秒后输出一组数据
mpstat -P ALL 5

pidstat命令监控cpu

pidstat是sysstat工具的一个命令,用于监控全部或指定进程的cpu、内存、线程、设备IO等系统资源的占用情况。

#pidstat 的用法:

pidstat [ 选项 ] [ <时间间隔> ] [ <次数> ]

常用的参数:

    • -u:默认的参数,显示各个进程的cpu使用统计
    • -r:显示各个进程的内存使用统计
    • -d:显示各个进程的IO使用情况
    • -p:指定进程号
    • -w:显示每个进程的上下文切换情况
    • -t:显示选择任务的线程的统计信息外的额外信息
    • -T { TASK | CHILD | ALL }
      这个选项指定了pidstat监控的。TASK表示报告独立的task,CHILD关键字表示报告进程下所有线程统计信息。ALL表示报告独立的task和task下面的所有线程。
      注意:task和子线程的全局的统计信息和pidstat选项无关。这些统计信息不会对应到当前的统计间隔,这些统计信息只有在子线程kill或者完成的时候才会被收集。
    • -V:版本号
    • -h:在一行上显示了所有活动,这样其他程序可以容易解析。
    • -I:在SMP环境,表示任务的CPU使用率/内核数量
    • -l:显示命令名和所有参数

查看所有CPU使用情况

#查看所有进程的 CPU 使用情况( -u -p ALL)
#pidstat 和 pidstat -u -p ALL 是等效的。
#pidstat 默认显示了所有进程的cpu使用率。 pidstat

pidstat -u -p ALL

5秒查询一次,共查询一次,所有cpu使用情况

#设置5秒间隔,共查询1次
pidstat 5 1

5.卸载stress方式

如果不想保留在服务器内,可以通过如下方式卸载

#卸载命令

rm -R -f /usr/local/src/stress-0.18.1/

rm -f /usr/local/bin/stress

rm -f /usr/local/src/stress-0[1].18.1.tar.gz

6.保存监测数据

可以查看我的另一篇文章:Linux:监测收集linux服务器性能数据工具Sysstat的使用与安装

文章整合至:https://blog.csdn.net/cojn52/article/details/89680093https://www.cnblogs.com/wx170119/p/11411312.html

Linux:linux服务器稳定性压力测试工具stress安装与使用的更多相关文章

  1. Linux压力测试软件Stress安装及使用指南2

    stress工具使用指南和结果分析 Linux压力测试软件Stress安装及使用指南     一.Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高 ...

  2. 推荐一个linux下的web压力测试工具神器webbench

    推荐一个linux下的web压力测试工具神器webbench2014-04-30 09:35:29   来源:   评论:0 点击:880 用多了apache的ab工具之后你就会发现ab存在很多问题, ...

  3. LINUX系统下MySQL 压力测试工具super smack

    摘要:1.源文件下载地址:http://vegan.net/tony/supersmack/2.安装:注意在编译时,可以先把对应的libmysqlclient.so.*拷贝到/usr/lib3.测试: ...

  4. Web服务器性能压力测试工具http_load、webbench、ab、Siege使用教程

    Web服务器性能压力测试工具http_load.webbench.ab.Siege使用教程 作者: feng 日期: 2012/07/25 发表评论 (0) 查看评论   一.http_load 程序 ...

  5. Web服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程 - VPS侦探

    Web服务器性能/压力测试工具http_load.webbench.ab.Siege使用教程 - VPS侦探 http://soft.vpser.net/test/http_load/http_loa ...

  6. Web服务器性能/压力测试工具http_load、webbench、ab、Siege、loadrunner

    回头看看 Web服务器性能/压力测试工具http_load.webbench.ab.Siege.loadrunner

  7. linux压力测试工具stress

    最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...

  8. Linux压力测试工具stress的参数详解

    为了测试服务器的负载情况,可以使用stress这个压力测试工具,可以在环境上验证测试下. stress安装 sudo yum install -y epel-release sudo yum inst ...

  9. Linux压力测试软件Stress安装及使用指南

      一.Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这些设备运行的用户. 二.安装 将stress的安装包上传并解压到linux服务 ...

随机推荐

  1. DOCKER学习_011:使用Dockerfile制作docker镜像

    前面使用commit的方式,制作一个docker镜像,本次介绍使用Dockerfile制作一个dockers镜像 [root@docker-server3 ~]# mkdir /openssh [ro ...

  2. python基础之pip、.pyc、三元运算、进制、一切皆对象、可变与不可变类型

    一.pip(下载工具==yum) 1.重点(必须掌握的) 列出已安装的包 pip list 安装要安装的包 pip install xxx 安装特定版本 pip install django==1.1 ...

  3. INFJ名言

    财富是由什么构成的? 按世俗的观点,就是占有金钱和财宝. 但如果我们用除金钱之外的其他方式来衡量财富, 那么许多在物质上匮乏的人在精神上却是富有的, 许多在物质上富有的人在精神上却是匮乏的. The ...

  4. C语言volatile

    原文地址: http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.html volatile提醒编译器它后面所定义的变量随时都有 ...

  5. 3.14-19 wc、iconv、dos2unix、diff、vimdiff、rev

    3.14 wc:统计文件的行数.单词数或字节数 wc命令用于统计文件的行数.单词数或字节数.   -c 统计字节数 -w 统计单词数 -l 统计行数     -L 打印最长行的长度 -m 统计字符数 ...

  6. linux系统ifconfig中网卡名和网卡配置文件名称不同的解决办法

    比如我的配置文件, cd /etc/sysconfig/network-scripts/ifcfg-eth1是这个名称,但是我使用ifconfig显示的信息却是 eth0,很明显这不是我配置文件的名称 ...

  7. Assignment Problem的若干思考

      最近受到南京一个同学的push,又开始了博客园写作之旅.欢迎大家联系我做代码实现工作,QQ:1198552514.权当赚点生活费~ 我的研究也经常用的Assignment problem,而且很多 ...

  8. 离散傅里叶变换的衍生,负频率、fftshift、实信号、共轭对称

    封面是福州的福道,从高处往下看福道上的人在转圈圈.从傅里叶变换后的频域角度来看,我们的生活也是一直在转圈圈,转圈圈也是好事,说明生活有规律,而我们应该思考的是,如何更有效率地转圈圈--哦别误会,我真不 ...

  9. Java中Map<Key, Value>存储结构根据值排序(sort by values)

    需求:Map<key, value>中可以根据key, value 进行排序,由于 key 都是唯一的,可以很方便的进行比较操作,但是每个key 对应的value不是唯一的,有可能出现多个 ...

  10. .NET平台系列17 .NET5中的ARM64性能

    系列目录     [已更新最新开发文章,点击查看详细] .NET团队使.NET 5大大提高了常规性能和ARM64性能.在<.NET5中的性能改进>博客中可以查看总体改进情况.在这篇文章中, ...