プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

負荷テストに使える、メモリを意図的に消費させるスクリプト

わざとメモリ残量がない状態にしたい場合、意外に難しいのです。
4GBメモリのパソコンならまだしも、8GBや16GBを使い切るのはなかなか苦労します。

指定したメモリ量を無駄に消費するスクリプトを公開されている方がいましたので紹介します。

プログラマー豆知識


'参照カウンタを使用して循環参照させる
Dim i

'5000:空きメモリが50MB減る
'10000:空きメモリが100MB減る
'20000:空きメモリが200MB減る
For i = 1 To 5000
Call k
Next

MsgBox "終了しました。このメッセージボックスを閉じるとメモリは開放されます。"

Sub k()
Dim x
Set x = CreateObject("Scripting.Dictionary")
Dim y
Set y = CreateObject("Scripting.Dictionary")
Call x.Add("a", y)
Call y.Add("b", x)
' Call x.RemoveAll()
' Call y.RemoveAll()
End Sub

すみません。そのまま転載です。

ループ回数を調整することでメモリ消費量を変えることができます。
ダイアログを閉じればすぐに解放されるので安心です。

メモリ残量って0になってもOSは意外にも普通に動きますね。関心です。
でも、フリーズするかもしれませんので、ご注意ください。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

2 thoughts on “負荷テストに使える、メモリを意図的に消費させるスクリプト

  • oba1 より:

    メモリ残量が0になってもHDDの残りの容量がある限りswapがあるから大丈夫

    • propg より:

      そうですね。
      なので、メモリがなくなって壊れるテストというのは実際のところ難しいです。
      パフォーマンステストとしては意味がありますが。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください