動作テスト中にメモリを大量に消費するバグに遭遇し、PCが動作しなくなった解決策は何ですか


node.jsを使い開発を行っており, 動作テストでselenuimを動かしたところseleniumかテストサイトのバグで大量のメモリを消費し,
およそ22時間PCが動かない状況となっております.

メモリ使用過多によるPCの操作不能はどのように解決出来ますか.  
可能であれば再起動等, 既存の未保存のデータを消去せずに問題を解決したいです.  
OSはwindows7, メモリは8ギガバイトとなっております.

今回はwindowsですが, 他osでも使用可能な解決策があれば, 後学のために回答頂ければ幸いです.

また, このようなメモリ過多による動作不能を回避するソフトウェア開発上の手法やツールがありましたら, 同様の問題の回避に努めたいため, 回答頂きたいです.

以上, 夜遅くに失礼いたしました. ご回答よろしくお願いいたします.




消費メモリ量が実メモリ量をはるかに超えた結果として
[スラッシング](https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%A9%E3%83%83%E3%82%B7%E3%83%B3%E3%82%B0)
が発生している状況なわけです。

その「メモリを大量に食うソフト」の未保存データは保存するすべがないのであきらめましょう（数年間その状態で放置しておけば保存されているかもしれないが、それなら再起動後に再入力するほうが手早い）。

他のプロセス、例えばエディタなどの未保存データであれば原因プロセスを強制終了させれば動作が回復し保存できるはず。

が、実マシンがこの状況に陥ったら事実上操作不能で、オイラならあきらめて電源を切ります（ `Ctrl+Alt+Del`
でタスクマネージャが開けますが、１操作に数時間とかかかる可能性がある。それが待てるなら試してみる価値はある）

* * *

スラッシングを起こさせないためには

  * Linux 系 OS では

`ulimit` というコマンドでプロセスの資源の上限を制約できます。事前にメモリ量等を制約しておくとよいでしょう。

  * Linux / Windows 共通

仮想化ソフトウェアを使って (Hyper-V 等)
当該「メモリを使うプログラム」を仮想マシン上で動かします。スラッシングして死ぬのは仮想マシンだけですので、実マシンから強制終了させることができます。仮想マシンに物理資源を全部割り当てないことが重要っす。

  * Windows OS では

昔は Windows System Resource Manager ってのがあったらしいのですが今は削除されているとのこと。上記手順 (Hyper-V)
でやれ、ということらしいです。

