stress介绍

stress是一款压力测试工具,可以用它来对系统CPU,内存,以及磁盘IO生成负载。

安装stress

apt-get install stress

使用stress

直接运行 stress 就会列出关于 stress 的简单说明

root@myy /root $ stress -?
`stress' imposes certain types of compute stress on your systemUsage: stress [OPTION [ARG]] ...-?, --help         show this help statement--version      show version statement-v, --verbose      be verbose-q, --quiet        be quiet-n, --dry-run      show what would have been done-t, --timeout N    timeout after N seconds--backoff N    wait factor of N microseconds before work starts-c, --cpu N        spawn N workers spinning on sqrt()-i, --io N         spawn N workers spinning on sync()-m, --vm N         spawn N workers spinning on malloc()/free()--vm-bytes B   malloc B bytes per vm worker (default is 256MB)--vm-stride B  touch a byte every B bytes (default is 4096)--vm-hang N    sleep N secs before free (default none, 0 is inf)--vm-keep      redirty memory instead of freeing and reallocating-d, --hdd N        spawn N workers spinning on write()/unlink()--hdd-bytes B  write B bytes per hdd worker (default is 1GB)
Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).-? 显示帮助信息
-v 显示版本号
-q 不显示运行信息
-n,--dry-run 显示已经完成的指令执行情况
-t --timeout N 指定运行N秒后停止--backoff N 等待N微妙后开始运行
-c --cpu 产生n个进程 每个进程都反复不停的计算随机数的平方根
-i --io  产生n个进程 每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上
-m --vm n 产生n个进程,每个进程不断调用内存分配malloc和内存释放free函数--vm-bytes B 指定malloc时内存的字节数 (默认256MB)--vm-hang N 指示每个消耗内存的进程在分配到内存后转入休眠状态,与正常的无限分配和释放内存的处理相反,这有利于模拟只有少量内存的机器
-d --hadd n 产生n个执行write和unlink函数的进程--hadd-bytes B 指定写的字节数,默认是1GB--hadd-noclean 不要将写入随机ASCII数据的文件Unlink时间单位可以为秒s,分m,小时h,天d,年y,文件大小单位可以为K,M,G

对CPU进行压力测试

使用 stress -c N 会让stress生成N个工作进程进行开方运算,以此对CPU产生负载。

比如你的CPU有四个核,那么可以运行

stress -c 4

这是查看stress进程信息

ps -elf |grep stress |grep -v grep
~# ps -elf |grep stress |grep -v grep
0 S root      3540  2975  0  80   0 -  1819 -      15:12 pts/1    00:00:00 stress -c 4
1 R root      3541  3540 96  80   0 -  1819 -      15:12 pts/1    00:00:20 stress -c 4
1 R root      3542  3540 96  80   0 -  1819 -      15:12 pts/1    00:00:20 stress -c 4
1 R root      3543  3540 96  80   0 -  1819 -      15:12 pts/1    00:00:20 stress -c 4
1 R root      3544  3540 96  80   0 -  1819 -      15:12 pts/1    00:00:20 stress -c 4F :代表这个程序的旗标 (flag), 4 代表使用者为 super userS :代表这个程序的状态 (STAT),关于各 STAT 的意义将在内文介绍UID: 程序被该 UID 所拥有PID:process ID的缩写,也就进程号PPID  :process parent ID,父进程IDC: CPU 使用的资源百分比PRI :这个是 Priority (优先执行序) 的缩写NI :这个是 Nice 值ADDR: 这个是 kernel function,指出该程序在内存的那个部分。如果是个 running的程序,一般就是 "-"SZ :使用掉的内存大小WCHAN: 目前这个程序是否正在运作当中,若为 - 表示正在运作TTY: 登入者的终端机位置TIME: 使用掉的 CPU 时间。CMD:所下达的指令为何

你会发现一共有5个stress进程,其中有4个进程是 17738 进程派生出来的工作进程。而且每个工作进程占用的CPU利用率都接近100%

对内存进行压力测试

类似的,使用 stress -m N 会让stress生成N个工作进程来占用内存。每个进程默认占用256M内存,但可以通过 --vm-bytes 来进行设置。 例如

stress -m 3 --vm-bytes 300M

会生成3个进程,每个进程占用300M内存

ps -elf |grep stress |grep -v grep
~# ps -elf |grep stress |grep -v grep
0 S root      3572  2975  0  80   0 -  1819 -      15:15 pts/1    00:00:00 stress -m 3 --vm-bytes 300M
1 R root      3573  3572 99  80   0 - 78620 -      15:15 pts/1    00:00:10 stress -m 3 --vm-bytes 300M
1 R root      3574  3572 99  80   0 - 78620 -      15:15 pts/1    00:00:10 stress -m 3 --vm-bytes 300M
1 R root      3575  3572 99  80   0 - 78620 -      15:15 pts/1    00:00:10 stress -m 3 --vm-bytes 300M
而且你会发现,虽然只是对内存进行压力测试,但实际上CPU也是很繁忙的,占有率也接近100%

对磁盘进行压力测试

对磁盘压力测试有两个参数:

stress -i N 会产生N个进程,每个进程反复调用sync()将内存上的内容写到硬盘上.

而 stress -d N 会产生N个进程,每个进程往当前目录中写入固定大小的临时文件,然后执行unlink操作删除该临时文件。 临时文件的大小默认为1G,但可以通过 --hdd-bytes 设置临时文件的大小。比如

stress -i 2 -d 4

你会发现压力测试时,当前目录所在可用空间少了2G,如下所示:root@jd-privt-local-vm0:~# df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G  991M   18G   6% /
root@jd-privt-local-vm0:~# df -h .
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G  2.7G   17G  14% /

同时对多项指标进行压力测试

stress支持同时对多个指标进行压力测试,只需要把上面的参数组合起来就行

stress -c 4 -m 2 -d 1

这个时候你再看stress进程

ps -elf |grep stress |grep -v grep

你会发现工作进程一共有7个,也就是说每个进程只负责一项测试。

设置超时时间

通过 -t TIMEOUT 可以让stress只运行一段时间后自动退出。这一般在写脚本的时候会用到。

比如我想要运行上面的测试,但是10秒后自动退出,那么

stress -c 4 -m 2 -d 1 -t 10s
stress: info: [19302] dispatching hogs: 4 cpu, 0 io, 2 vm, 1 hdd
stress: info: [19302] successful run completed in 11s

参考:http://blog.lujun9972.win/blog/2018/05/06/%E4%BD%BF%E7%94%A8stress%E8%BF%9B%E8%A1%8C%E5%8E%8B%E5%8A%9B%E6%B5%8B%E8%AF%95/

使用stress进行压力测试相关推荐

  1. linux stress 工具,Linux压力测试工具stress的参数详解

    为了测试根据服务器的负载情况,给大家推荐下stress这个压力测试工具,具体安装方式就不说了,本文主要介绍下stress的命令参数,大家可以在环境上验证测试下. 参数说明: -? 显示帮助信息 -v ...

  2. stress内存在linux测试结果,Linux压力测试软件Stress安装及使用指南

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

  3. stress 压力测试工具

    ############################stress 压力测试工具 ############################为了测试服务器的负载情况,给大家推荐Stress这个压力测试 ...

  4. 3dmark压力测试 linux,3DMark压力测试发布:彻底榨干你电脑!

    3DMark是性能测试工具,不过根据官方数据,也有超过2/3的玩家用它来检验系统超频稳定性,超过一半的用它测试散热能力. 今天,Futuremark专门发布了3DMark Stress Tests压力 ...

  5. 性能测试-----压力测试,负载测试,强度测试,容量测试

    性能测试-----压力测试,负载测试,强度测试,容量测试 性能测试(或称为多用户并发性测试), 负载测试,强度测试,容量测试 是性能测试领域的几个方面,但是概念容易混淆.下面将几个概念进行介绍. 性能 ...

  6. 微软压力测试工具 web application stress

    WEB服务器的压力测试工具~ 115808 2009年8月1日 lbimba 铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网站,在程序投入运行时,可以用它来进行 ...

  7. lLinux 下 Stress 压力测试工具

    作者信息 邮箱:sijiayong000@163.com Q Q:601566386 Stress是什么 stress是一个linux下的压力测试工具,专门为那些想要测试自己的系统,完全高负荷和监督这 ...

  8. centos安装stress安装失败_Linux压力测试工具Stress的使用指南

    为了测试Linux服务器的负载情况,这里给大家推荐一款压力测试工具:Stress,Stress是一款Posix系统下生成Cpu/Menory/IO/Disk负载的工具. Stress安装 在CentO ...

  9. 使用stress服务进行CPU和内存压力测试

    测试CPU 启动命令 这样填写压力参数,用以达到CPU的30%的压力 /usr/bin/stress --cpu 20 --io 4 --vm 2 --vm-bytes 128M 对内存进行压力测试 ...

  10. Stress命令Linux性能测试,压力测试工具(Centos演示)

    Stress命令Linux性能测试,压力测试工具 1.模拟一颗cpu打满 stress -c 2 (见如下图:使用htop或者top查看想打满几颗cpu就输入,对应数字即可) 2.模拟产生2个进程,每 ...

最新文章

  1. PyCaret-低代码ML库使用指南
  2. mac 不显示 外接屏幕_苹果笔记本A1707电脑屏幕不显示,主板进水腐蚀,一招秒杀...
  3. 同步方法和同步代码块
  4. JAVA SE学习day_15:thread线程池
  5. 【Paper】2004_Information Flow and Cooperative Control of Vehicle Formations
  6. Matlab画图技巧之保存超大体积图
  7. 蚂蚁式管理(Style of Ant Management)
  8. mysql正删改查返回值_MySQL增删改查
  9. VIMrc 配置文件
  10. vue中用echats绘制中国地图
  11. 《程序人生》风雨十年-从大学到技术专家我做了啥?
  12. 尜尜送的诗,以及我回的句
  13. 怎么把链接生成二维码?怎样制作一个链接二维码?
  14. WSO2安装使用的全过程详解
  15. P1359 租用游艇【Floyd】
  16. 头条流量android,今日头条的免流量看视频是怎么操作的?
  17. python自动化办公之爬取HTML图片写入PPT实战
  18. 机器学习常用小代码块
  19. 我们公司财务不接受电子发票纸质打印报销,这合理吗?
  20. 用于Transformer的6种注意力的数学原理和代码实现

热门文章

  1. 安卓android usb 转 RS 232 串口 芯片的比较
  2. iPhone十年越狱史
  3. Skype for business之Skype会议直播
  4. html可以用搜狗浏览器打开网页,搜狗浏览器网页不小心关了怎么办?搜狗浏览器恢复页面三种方法...
  5. getinfo怎么用php,PHP curl_getinfo函数
  6. java线程之读写锁
  7. 【保姆级入门系列】阿ken教你学Python(六) ——组合数据类型
  8. 5面阿里,终获offer(Java后端)
  9. ThinkPad T480不拆电脑后盖更换键盘
  10. Ubuntu Linux DNS服务器 BIND9配置文件命令介绍