stress命令文档

stress

  • 对系统增加负载和压力测试的工具
    stress [option [arg]] ...

描述

  • stress将指定类型的计算压力加到系统上

选项

  • -v,–verbose

  • -q, --quiet

  • -n, --dry-run

    • 展示已经做了什么
  • -t, --timeout N

    • 在N秒之后超时
  • –backoff N

    • 在任务开始之前等待N us
  • -c, --cpu N

    • 创建N个工作进程快速执行sqrt()
  • -i, --io N

    • 创建N个工作进程快速执行sync()
  • -m, --vm N

    • 创建N个工作进程执行malloc()/free()
  • –vm-bytes B

    • 每个vm进程分配B字节内存空间(默认是256MB)
  • –vm-stride B

    • 每隔B个字节touch一个字节(默认是4096),不知道用干吗的
  • –vm-hang N

    • 在释放内存之前(默认是不休眠,0是无限休眠)休眠N秒
  • –vm-keep

    • 重新弄脏内存,而不是释放和重新申请内存
  • -d, --hdd N

    • 创建N个工作进程执行write()/unlink()
  • –hdd-bytes B

    • 每个hdd工作进程写B个字节(默认写1GB)
  • 实例

    • stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
    • 注意:
      • 数字类的可能带有后缀,时间类的带s,m,h,d,y,大小类的带B,K,M,G

info stress文档

概览

  • stress不是一个基准测试程序(benchmark)
  • stress是一个把指定负载加到指定的子系统上的一个工具
  • 对于一个系统管理员想要执行微调活动,或者是一个内核或者libc库的程序员想要去评估拒绝服务的可能性等场景,这个工具非常实用

实例分析

  • 简单的场景就是想要把系统的平均负载增加到一个任意值,接下来fork13个子进程,每一个都执行计算一个用rand()获取的随机数的sqrt()
    stress -c 13
  • 支持长选项,这个命令创建1024个进程,并且只输出错误信息,如果有出错信息的话;
    stress --quiet --cpu 1k
  • 创建4个进程,每个子进程快速调用sync()
    stress -i 4
  • 1分钟后超时
    stress -c 13 -i 4 --verbose --timeout 1m
  • 可以写一个任意长度的文件到磁盘,文件用mkstemp()在当前目录下创建,默认行为是删除掉,unlink也可以通过设置–hdd-noclean选项来被覆盖
    stress -d 1 --hdd-noclean --hdd-bytes 13
    stress -d 1 --hdd-noclean --hdd-bytes 3G
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章