stress - 模拟系统负载

常用选项:

  • -c, —cpu N 产生N个进程,每个进程都反复计算随机数的平方根
  • -i, —io N 产生N个进程,每个进程反复调用sync()将内存上的内容写到硬盘
  • -m, —vm N 产生N个进程,每个进程不断分配和释放内存
    • —vm-bytes B 指定分配内存大小(1G 200M 300K)
    • —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
  • -q, —quiet 程序在运行时不输出信息
  • -n, —dry-run 输出程序会做什么,并不实际执行相关操作
  • -v, —verbose 显示详细信息
  • —version

示例

stress -c 4
 
stress -m 2 --vm-bytes 1G
 

其它类似工具

lookbusy 一个综合负载生成器,它可以在CPU上生成固定的、可预测的负载,保持选定数量的内存处于活动状态,并生成您需要的任意数量的磁盘流量。 lookbusy不是负载模拟器,而是使系统像您希望的那样忙碌。 特别是在生成CPU负载时,Lookbusy会尝试将CPU保持在选定的利用率水平,向上或向下调整其自身消耗以补偿系统上的其他负载。负载可以在固定水平或重复周期中产生。