1
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 1 year has passed since last update.

Windowsで負荷テスト(メモリ負荷)

Posted at

Testlimit v5.24
https://docs.microsoft.com/ja-jp/sysinternals/downloads/testlimit

コマンドラインツール
Microsoft Windows [Version 10.0.19044.1766]
(c) Microsoft Corporation. All rights reserved.

C:\Users\hoge\Downloads\Testlimit>Testlimit64.exe

コマンドラインツールなので、パラメータを調べます。

コマンド プロンプト
Testlimit v5.24 - test Windows limits
Copyright (C) 2012-2015 Mark Russinovich
Sysinternals - www.sysinternals.com

Process ID: 14328

usage: testlimit [[-h [-u]] | [-p [-n]] | [-t [-n [KB]]] | [-u [-i]] | [-g [object size]] | [-a|-d|-l|-m|-r|-s|-v [MB]] | [-w]] [-c [count]] [-e [seconds]]
  -a       Leak Address Windowing Extensions (AWE) memory in
           specified MBs (default is 1).
  -c       Count of number of objects to allocate (default is as many as
           possible). This must be the last option specified.
  -d       Leak and touch memory in specified MBs (default is 1).
  -e       Seconds elapsed between allocations (default is 0).
  -g       Create GDI handles of specified size (default 1 byte).
           Specify a size of 0 to cause GDI object exhaustion.
  -h       Create handles. Specify -u to also allocate file objects.
  -i       Exhaust USER desktop heap.
  -l       Allocate the specified amount of large pages (rounded to large
           size multiple.
  -m       Leak memory in specified MBs (default is 1).
  -p       Create processes - add -n to set min working set. Add -n to
           set min working set of processes to smallest.
  -r       Reserve memory in specified MBs (default is 1).
  -s       Leak shared memory in specified MBs (default is 1).
  -t       Create threads - add -n to specify minimum stack reserve (in KB).
  -u       Create USER handles to menus.
  -v       VirtualLock memory in specified MBs (default is 1).
  -w       Reset working set minimum to highest possible value.

コピーライトのマーク・ルシノビッチさんは、Windows Sysinternals を作った方ですね。

HELP
-a      指定されたMBのリークアドレスウィンドウ化拡張(AWE)メモリ(デフォルトは1)。
-c      割り当てるオブジェクトの数(デフォルトは可能な限り多く)。これは、指定された最後のオプションである必要があります。
-d      指定されたMBのリークおよびタッチメモリ(​​デフォルトは1)。
-e      割り当ての間に経過した秒数(デフォルトは0)。
-g      指定されたサイズ(デフォルトは1バイト)のGDIハンドルを作成します。サイズを0に指定すると、GDIオブジェクトが使い果たされます。
-h      ハンドルを作成します。 -uを指定して、ファイルオブジェクトも割り当てます。
-i      USERデスクトップヒープを使い果たします。
-l      指定された量の大きなページを割り当てます(大きなサイズの倍数に丸められます)。
-m      指定されたMBのリークメモリ(デフォルトは1)。
-p      プロセスを作成します-最小ワーキングセットを設定するために-nを追加します。 -nを追加して、プロセスの最小ワーキングセットを最小に設定します。
-r      指定されたMBでメモリを予約します(デフォルトは1)。
-s      指定されたMBの共有メモリをリークします(デフォルトは1)。
-t      スレッドを作成します-最小スタック予約(KB単位)を指定するには、-nを追加します。
-u      メニューへのUSERハンドルを作成します。
-v      指定されたMBのVirtualLockメモリ(デフォルトは1)。
-w      ワーキングセットの最小値を可能な限り高い値にリセットします。

とりあえずメモリ負荷を高くしてストレスを与えたいのですが・・・

コマンド プロンプト
C:\Users\Hoge\Downloads\Testlimit>Testlimit64.exe -u -i

Testlimit v5.24 - test Windows limits
Copyright (C) 2012-2015 Mark Russinovich
Sysinternals - www.sysinternals.com

Process ID: 26576

Exhausting desktop heap...
Allocated 18303 KB of desktop heap. Lasterror: 0
この操作を正しく終了しました。
^C

Ctrl+C で中断するまで動作が続くようです。

コマンド プロンプト
C:\Users\Hoge\Downloads\Testlimit>Testlimit64.exe -g 0

Testlimit v5.24 - test Windows limits
Copyright (C) 2012-2015 Mark Russinovich
Sysinternals - www.sysinternals.com

Process ID: 21812

Creating GDI objects...
GDI handles: 4188 (94208 KB)^C

GDIハンドルを作成します、サイズを0に指定すると、GDIオブジェクトが使えるところまで作成します。

コマンド プロンプト
C:\Users\Hoge\Downloads\Testlimit>Testlimit64.exe -d -c 3000

Testlimit v5.24 - test Windows limits
Copyright (C) 2012-2015 Mark Russinovich
Sysinternals - www.sysinternals.com

Process ID: 24692

Leaking private bytes with touch (MB)...
Leaked 3000 MB of private memory (3000 MB total leaked). Lasterror: 0
この操作を正しく終了しました。
^C

1MBメモリを3000 (1MB×3000) 作成します。3GBです。
-d 3000 -c1 (3000MB×1)
としても 3GB ですが、大きなメモリを一度に確保すると OS に監視されているですぐに仮想メモリに退避されます。

便利なツールですが、パラメータが多いため目的の負荷が得られるように試行錯誤が必要です。

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