負荷テストを行うツール、手法に関するメモ 内容は「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