Testlimit とは?
Testlimit は、Windows Sysinternals の一部で、システム リソースの負荷テストするためのツールです。このツールを使うと、プロセスでメモリ、ハンドル、スレッドなどのリソースを意図的に消費し、システムの限界や動作を確認できます。Testlimit はシステムのパフォーマンスや安定性のテスト、リソース管理の問題を検証する際に役立ちます。また、どのリソースがシステムのパフォーマンスに最も影響を与えるかを把握することができます。
Testlimit - Sysinternals
https://learn.microsoft.com/en-us/sysinternals/downloads/testlimit
あまり頻繁に使うわけではないけど、使う時なんだっけ?状態になるので、書いておきます。
仮想メモリ
# 1024MB の仮想メモリを1秒ごとに5回確保(つまり 5GB)
Testlimit64.exe -m 1024 -e 1 -c 5
プロセスが使用している仮想メモリのサイズは、タスクマネージャーでは、コミット サイズ の項目で確認できます。
物理メモリ
# 1024MB の物理メモリを1秒ごとに5回確保(つまり 5GB)
Testlimit64.exe -d 1024 -e 1 -c 5
プロセスが使用している物理メモリのサイズは、ワーキングセット(メモリ) の項目で確認できます。もちろん仮想メモリのサイズも大きくなります。
仮想メモリと物理メモリの関係について知りたいという人は、タスク マネージャーの見方で説明したので、こちらを読んでいただければと思います。
タスク マネージャーの見方(Memory) | Microsoft Japan Windows Technology Support Blog
https://jpwinsup.github.io/blog/2021/05/10/Performance/SystemResource/TaskManagerMemory/
ハンドル
# ハンドルを 10,000 個確保
Testlimit64.exe -h -c 10000
プロセスが保持しているハンドルの数は、ハンドル数 の項目で確認できます。
ハンドルについては、Microsoft の Web サイトで紹介されています。
ハンドルとオブジェクト - Win32 apps | Microsoft Learn
https://learn.microsoft.com/ja-jp/windows/win32/sysinfo/handles-and-objects
スレッド
# スレッドを 1000 個生成
Testlimit.exe -t -c 1000
プロセスが実行しているスレッドの数は、スレッド数 の項目で確認できます。
さいごに
他にも、いろいろできますが、マニアックなリソースになるので、気になる人はオプション全部ためしてみてくださいね。