3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

負荷掛け用ツール(stress)

Last updated at Posted at 2020-01-14

stressコマンド

LinuxサーバでCPUやメモリ等の負荷掛けを実施したい際にコマンドを発行するだけで、特定のワークロードをかけることができるツール。
性能検証等で重宝しそう。yumでrpmとしてインストールしてもよいが、バイナリとして下記からダウンロードしたtarballをサーバに持ってきてコンパイルするという手もあり。

下記を見るだけで大体何ができるのかはイメージが付きそう。

HELP
# stress
`stress' imposes certain types of compute stress on your system

Usage: stress [OPTION [ARG]] ...
 -?, --help         show this help statement
     --version      show version statement
 -v, --verbose      be verbose
 -q, --quiet        be quiet
 -n, --dry-run      show what would have been done
 -t, --timeout N    timeout after N seconds
     --backoff N    wait factor of N microseconds before work starts
 -c, --cpu N        spawn N workers spinning on sqrt()
 -i, --io N         spawn N workers spinning on sync()
 -m, --vm N         spawn N workers spinning on malloc()/free()
     --vm-bytes B   malloc B bytes per vm worker (default is 256MB)
     --vm-stride B  touch a byte every B bytes (default is 4096)
     --vm-hang N    sleep N secs before free (default none, 0 is inf)
     --vm-keep      redirty memory instead of freeing and reallocating
 -d, --hdd N        spawn N workers spinning on write()/unlink()
     --hdd-bytes B  write B bytes per hdd worker (default is 1GB)

Example: stress --cpu 8 --io 4 --vm 2 --vm-bytes 128M --timeout 10s

Note: Numbers may be suffixed with s,m,h,d,y (time) or B,K,M,G (size).

CPUに負荷をかけたい場合は下記のように実行する。ワーカープロセスの数=負荷をかけるコア数を指定すること。

CPU
# 3コアフルに負荷をかけるコマンド
stress --cpu 3

メモリに負荷をかけたい場合は下記のように実行する。
ワーカープロセスの数あたり、どれだけメモリを占有(malloc)するかを基本的には指定する。
デフォルトだとメモリ獲得&解放を繰り返すので、獲得した状態を暫く保ちたい場合は--vm-hangで秒数を指定する、または--vm-keepを指定。

メモリ
# 1ワーカープロセスがメモリ2Gの獲得/解放を繰り返す。
stress --vm 1 --vm-bytes 2G

# 1ワーカープロセスがメモリ2Gの獲得して300秒待機、その後メモリを解放する。この動きを繰り返す。
stress --vm 1 --vm-bytes 2G --vm-hang 300

# 1ワーカープロセスがメモリ2Gの獲得して、その後ずっと待機する。
stress --vm 1 --vm-bytes 2G --vm-keep

各オプションは組合せで利用することも可能。またタイムアウトを指定したい場合は--timeoutオプションで負荷掛けの秒数を指定するとOK。

3
1
0

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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?