#今日の目標
サーバー構築後、Linuxのリソースの負荷試験を実施する際にLinuxの標準機能だけで負荷を発生させる簡単な方法を学ぶ
CPU負荷を手軽にかける
一般的に知られている「stress」といったツールを使って・・・、といった方法ではなく、Linux標準コマンドで出来る方法が良いな~
本番環境とかだと気軽ツールとかインストール出来ないので。
なるべく環境には手を加えない方法をピックアップしてみました。
###yesコマンドを使う
yesコマンドはOS標準で入っているビルトインコマンドです。
このyesコマンドを連打することによってCPU負荷をかける方法になります。
yesコマンドで処理をかける
# yes > /dev/null
リダイレクトの向きに気を付けてください。
処理を停止させる場合は「Ctrl + C」になります。
1個だとたいした負荷はかからないので、ターミナルを複数立ち上げでyesコマンド連打もアリ。
# yes > /dev/null &
# yes > /dev/null &
# yes > /dev/null &
# yes > /dev/null &
# yes > /dev/null &
停止させる場合は「jobs」で確認し、
# jobs
[1] 実行中 yes > /dev/null &
[2] 実行中 yes > /dev/null &
[3] 実行中 yes > /dev/null &
[4] 実行中 yes > /dev/null &
[5] 実行中 yes > /dev/null &
[6]- 実行中 yes > /dev/null &
[7]+ 実行中 yes > /dev/null &
以下のような感じで停止させる
# kill %1 %2 %3
[1] 終了しました yes > /dev/null
[2]- 終了しました yes > /dev/null
[3]+ 終了しました yes > /dev/null
###opensslコマンドを使う
opensslコマンドでCPUのクロック数に合わせてCPU負荷をかけます。
opensslコマンド処理実行例
[root@localhost ~]# openssl speed -multi `grep processor /proc/cpuinfo|wc -l`
Forked child 0
+DT:md2:3:16
+R:256480:md2:3.000000
+DT:md2:3:64
+R:133412:md2:3.000000
+DT:md2:3:256
+R:94141:md2:3.000000
+DT:md2:3:1024
+R:26955:md2:3.000000
+DT:md2:3:8192
+R:3545:md2:3.000000
+DT:md4:3:16
+R:16046421:md4:3.000000
+DT:md4:3:64
opensslコマンドでの処理を停止させる場合は「Ctrl + C」
##メモリ 負荷を発生させる方法
ダミーのシェルスクリプトを作成する。
# vi test-memory.sh
Enterを押下する毎に500MB分のメモリを消費する処理を以下のように記述
#! /bin/bash
# "--bytest 5000000" is 500MB.
echo PID=$$
echo -n "[ Enter : powerup! ] , [ Ctrl+d : stop ]"
c=0
while read byte; do
eval a$c'=$(head --bytes 5000000 /dev/zero |cat -v)'
c=$(($c+1))
echo -n ">"
done
echo
作成したスクリプトを実行します。
# chmod +x test-memory.sh
# ./test-memory.sh
Enterを押下する毎に500MB分のメモリを消費します。
停止したい時は、Ctrl + d を押してください。
上に挙げた以外にも、CPU負荷をかける方法はたくさんあると思いますが、ある程度考えてやらないと環境そのものを壊してしまう可能性も考えられるので、その点は注意しましょう!