LoginSignup
45
47

More than 5 years have passed since last update.

Linuxサーバに一時的な負荷をかけたい、という話

Posted at

この記事は?

  • 開発をしていると、「サーバに負荷がかかっている状態においてどのような挙動を示すか?」という確認をしたいことが稀にある。
  • 細かいことはいいから手間をかけず、さくっと負荷をかけたい。
  • そこでPerlですよ!

前提条件

この記事においてはターゲットをLinuxサーバとしています。
Windowsにおける負荷はcygwin等を用意してもらうか、別の方法を検討してください。

負荷のかけ方

CPU

Perlで無限ループを複数発生させます。
4Coreの環境ですべてのCPU使用率を100%にしたい、という場合はこんな感じ。

 $ for i in {1..4}
 > do
 > perl -e 'while(1){}' &
 > done

もちろん、1行でもOK。

$ for i in {1..4}; do perl -e 'while(1){}' & done

停止させるときはPIDを確認した上でkillコマンドで。
topやpsでgrepしてもいいけど、次のがワンラインでかっこいい。

$ kill -9 `ps -ef|perl -lane '/perl -e while\(1\)\{\}/ and print $F[1]'`

メモリ

とにかく配列処理をやらせてメモリを使い潰そう、というコンセプト。

$ perl -e '$c[$_]="a"x$_ for 1..10000'

もっとメモリを使わせたい、ということであれば10000よりも大きい値にしてあげてください。


以上

45
47
7

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
45
47