Linuxで負荷テストをする方法

Linuxで意図的に負荷を与える場合、CPU負荷なら以下のような無限ループを実行したり、ディスク負荷なら大きなファイルを書き込んだりしていました。

$ perl -e 'while (1) {$i++}'

しかし、上記の方法だと思ったような負荷を与えることができない場合がありました。
そんな時は、stressコマンドを使用すると良いようです。

stressのインストール

まずは、stressパッケージをインストールします。

$ sudo aptitude install stress

負荷を与えてみる

$ stress --cpu 4 --timeout 1m

1分間4プロセスで"sqrt()"を実行し、負荷を与えます。

$ stress --hdd 1 -timeout 1m

1分間ディスクに負荷を与えます。
その他にも、"sync()"を実行したり、"malloc()/free()"を実行したりするオプションもあります。

$ stress --help
(中略)
 -i, --io N         spawn N workers spinning on sync()
 -m, --vm N         spawn N workers spinning on malloc()/free()
(中略)

バージョンが古いですが、以下のサイトにリファレンスがあります。