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 に監視されているですぐに仮想メモリに退避されます。
便利なツールですが、パラメータが多いため目的の負荷が得られるように試行錯誤が必要です。