この単純なバッチ ファイルは、比較的短い順序で実行され、Windows 7 (x64) で使用可能なすべてのメモリを消費します。どうしたの?また、それを防ぐためにどのような予防策を講じることができますか?
any-invalid-command-you-like-here ^
効果を発揮するために明らかに必要な前提条件:
- キャレット
^
はファイルの最後の部分であり、スクリプトは改行で終了していません - キャレットの前に少なくとも 2 つのスペースまたは文字があります。たとえば、次のドットがスペースを表している場合、メモリ リークは発生しませんが
.^
、これは..^
(ゆっくりと)発生します。
このProcess Explorerのスクリーン ショットでは、スクリプトは約 30 秒間実行され、2.9 GB を消費し、一定の速度で上昇していました。
これを試してみる場合は、[ウィンドウを閉じる] [X] コントロールを取得できることを確認するか、タスク マネージャーまたはプロセス エクスプローラーを起動して準備ができていることを確認しCtrl-Cてください。Ctrl-BreakAlt-F4
複数のキャレットを使用すると、メモリ使用量がはるかに速く増加するようです。初めてこれに遭遇したときは、1 ~ 2 分で十分なメモリがなくAlt-Tab、3 本指の敬礼でさえCtrl-Alt-Del効果がありませんでした。マシンの電源を切らなければなりませんでした。