为了测试服务器的负载情况,给大家推荐Stress这个压力测试工具。Stress是一个Posix系统下生成Cpu/Menory/IO/Disk负载的工具。

项目址址: http://weather.ou.edu/~apw/projects/stress/

Stress安装

CentOS 7

# 启用三方源$ rpm  -ivh http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm# 安装Stress$ yum install stress

CentOS 6

# 启用三方源$ yum install epel-release# 安装Stress$ yum install stress

Stress参数说明

  • Stress使用语法

Usage: 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 is 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)     --hdd-noclean  do not unlink files created by hdd workersExample: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
  • Stress参数说明

-? 显示帮助信息-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

Stress使用实例

  • 产生13个cpu进程4个io进程1分钟后停止运行

$ stress -c 13 -i 4 --verbose --timeout 1m
  • 产生3个cpu进程、3个io进程、2个10M的malloc()/free()进程,并且vm进程中malloc的字节不释放

$ stress --cpu 3 --io 3 --vm 2 --vm-bytes 10000000 --vm-keep --verbose
  • 测试硬盘,通过mkstemp()生成800K大小的文件写入硬盘,对CPU、内存的使用要求很低

$ stress -d 1 --hdd-noclean --hdd-bytes 800k
  • 产生13个进程,每个进程都反复不停的计算由rand ()产生随机数的平方根

$ stress -c 13
  • 产生1024个进程,仅显示出错信息

$ stress --quiet --cpu 1k
  • 产生4个进程,每个进程反复调用sync(),sync()用于将内存上的内容写到硬盘上

$ stress -i 4
  • 向磁盘中写入固定大小的文件,这个文件通过调用mkstemp()产生并保存在当前目录下,默认是文件产生后就被执行unlink(清除)操作,但是可以使用--hdd-bytes选项将产生的文件全部保存在当前目录下,这会将你的磁盘空间逐步耗尽

# 生成小文件$ stress -d 1 --hdd-noclean --hdd-bytes 13# 生成大文件$ stress -d 1 --hdd-noclean --hdd-bytes 3G


©著作权归作者所有:来自51CTO博客作者mb5fe94c9f04536的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. Linux下查看进程IO工具iopp
  2. 怎样修复 Web 程序中的内存泄漏
  3. 后浪,谈谈你对jvm性能调优的理解
  4. Android(安卓)IPC进程间通信详解最新AndroidStudio的AIDL操作)
  5. BAT大咖助力 全面升级Android面试-3android基础相关面试题
  6. [Android(安卓)性能优化系列]内存之终极篇--降低你的内存消耗
  7. Android(安卓)Studio select deployment target 检测不到模拟器
  8. ContentProvider学习笔记
  9. Android(安卓)OOM以及GC的一些建议

随机推荐

  1. Android绑定银行卡提现怎么做?
  2. 简单的DatePicker样式设置
  3. Android中findViewById()h获取EditText
  4. StringBuffer和String、 StringBuilder的
  5. android ListView 九大重要属性详细分析
  6. 如何在android 5.0(L)中运行应用程序活动
  7. 为什么我的Android应用程序偶尔可以非常
  8. Android开发学习之ImageView手势拖拽、缩
  9. 尝试使用Async任务获取json时的java.lang
  10. 彻底了解RxJava(一)基础知识