Linux Stress Test

負荷テストを行うツール、手法に関するメモ

内容は「stress」「cpuburn」


■■■■■■■■■■■■■■■■■■■■
■「Stress」
(1)
パラメータ指定により、CPU、memory、I/O、DISCに負荷をかけることができる。GPLv2ライセンス。

(2)
tarballを次のサイトからダウンロードする。今日の時点で stress-1.0.4.tar.gz (2010-03-19)
http://weather.ou.edu/~apw/projects/stress/
インストールはtarballを展開し、./configure && make && sudo make install

(3)
単純に 「$ stress 」で走るが、いろいろなパラメータ指定ができる。以下のドキュメントが用意されている。
README -> http://weather.ou.edu/~apw/projects/stress/README
FAQ -> http://weather.ou.edu/~apw/projects/stress/FAQ
info ? -> http://weather.ou.edu/~apw/projects/stress/stress.html

これらを参考に、可能なパラメータを以下にメモしておく。

パラメータ
  • c forks または --cpu forks ; sqrt()をforkする
  • i forks または -- io forks ; sync()をforkする

    • vm forks ; malloc()をforkする
    • vm-bytes bytes
    • vm-hang

    • hdd forks ; write()をforkする
    • hdd-bytes byte
    • hdd-noclean




stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s
stress --cpu 8 --io 4 --vm 2 --hdd 1 --timeout 10s
stress --cpu 1000 --vm 1 --timeout 10s
乱数の√ を計算するプロセスを1000個forkする。 --timeout時間まで実行。--timeoutなくてもOKだが、キーボード応答がなくなりリブートするはめになる。

stress -m 1 --vm-bytes 2G
stress -c 13 -i 4 --verbose --timeout 1m
stress -d 1 --hdd-noclean --hdd-bytes 13
stress -d 1 --hdd-noclean --hdd-bytes 3G



Linuxでシステムに対して意図的に高負荷をかけたい場合(2010/05/14)
http://d.hatena.ne.jp/rx7/20100514/p1
yumでインストールする方法が書いてありますので引用します。
Stressをインストール
CentOSやRedHatの場合は、DAG(rpmforge)のリポジトリがあるので、ここのパッケージからインストールしましょう。

DAGをyumのリポジトリに追加する場合は、以下リンクから(CentOS5[x86_64]系の2010/05/14時点の最新版は)"rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm"をダウンロードして、rpmインストールしましょう。
Index of /rpmforge-release

http://packages.sw.be/rpmforge-release/
その後、以下コマンドでstressをyum経由でインストールするだけです。
# yum install stress



■■■■■■■■■■■■■■■■■■■■
■「cpuburn」

次のサイトからダウンロードできる
http://pages.sbcglobal.net/redelm/


tar zxvf で展開して make すると

Error: suffix or operands invalid for `push'

32bitバイナリを64bit環境でmakeしようとしているから。
ここを参考に、
http://nhh.mo-blog.jp/ttt/2009/08/assembler-messa.html

Makefileをみると

  gcc -s -nostdlib -o $@ $<


Athlon CPUなので、 burnK7だけmakeする

  gcc -m32 -Wa,--32 hello.c -s -nostdlib -o burnK7 burnK7.S


生成されたので実行。

./burnK7

vmstatでCPU sys=50前後
CentOS GUIのシステムモニタでCPU0のみ100%、CPU1は0%


^zしてbgにして、もうひとつ./burnK7を実行
vmstatでCPU sys=100前後
CentOS GUIのシステムモニタでCPU0もCPU1も100%


lm-sensorとipmitoolで、tempどんどん上がる Wow!


sensor
   Core0 Temp: +45.0℃
   Core0 Temp: +44.0℃
   Core1 Temp: +42.0℃
   Core1 Temp: +42.0℃
ipmitool, sensor
   CPU      	: 59
   NorthBridge  : 41
   Chassis  	: 35
  			 1h程度ではこれ以上に上がらない
周囲 28℃








smartctl --all /dev/sda

   http://www.atmarkit.co.jp/flinux/rensai/linuxtips/521smartinfo.html
   オプション    意味
  -a すべての情報を表示する
  -i ハードディスクのS.M.A.R.T.サポート状況を表示する
  -l エラーのログを表示する
  -v 温度やシークエラーなどの状況を表示する

  	 xeco vs62ではtempはない
  	 


smartd
   ?
   /sec/smartd.conf
最終更新:2011年05月27日 14:54
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。