Bash:在系统上放置可配置负载的简单方法?

时间:2010-03-14 21:12:30

标签: bash

为了测试程序在系统资源稀缺时的反应(主要是CPU,但我也对磁盘I / O感兴趣),我想对系统施加任意负载。

目前我正在做这样的事情:

#!/bin/bash

while true
do
    echo "a" >> a.txt
    md5 a.txt
done

我也可以开始mp3编码音频文件,或其他什么。

什么是一个简单的小Bash脚本,可以用来模拟任意负载,理想情况下可以使用参数进行配置?

2 个答案:

答案 0 :(得分:3)

如果您只查找CPU负载,您可以简单地执行一个空循环:

while :; do : ; done

对于磁盘I / O,您可以使用一系列文件复制od磁盘转储(请参阅“dd”命令)

此致

答案 1 :(得分:0)

好吧,您可以通过执行如上所述的空循环来测试CPU负载。

对于磁盘I / O,它取决于您需要的复杂程度。如果你只是想要能够在恒定爆炸时测试I / O速度的东西,请尝试这样的事情:

yes "a very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very, very long string (longer than this example)" | dd if=/dev/stdin of=file

当你杀死命令时,这会给你一个很好的速度读数。

如果你想调整确切的负载量,它会有点过时。

但是,为什么要推出自己的基准测试?已经存在很多,你可以通过Phoronix测试套件获得很多好的。