LoginSignup
51
37

More than 3 years have passed since last update.

Linuxで手軽にCPU/メモリの負荷をかける方法

Posted at

今日の目標

サーバー構築後、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負荷をかける方法はたくさんあると思いますが、ある程度考えてやらないと環境そのものを壊してしまう可能性も考えられるので、その点は注意しましょう!

51
37
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
51
37