0

現在、24 コアと 64G メモリを備えたクラスターで、jar (scala で記述されたコード) の複数のインスタンスを同時に実行していますUbuntu 11.04 (GNU/Linux 2.6.38-15-generic x86_64)。メモリ使用量が多いという問題が発生しています。これは、実行するインスタンスの数に非常に比例しています。より具体的には、ここに私がしていることがあります

  1. scala でコーディングし、sbt を使用して jar にパックします。
  2. クラスタにログインし、使用screenして新しい画面セッションを開きます。
  3. この画面で複数のウィンドウを開きます。
  4. 各ウィンドウで、実行しますjava -cp myjar.jar main.scala.MyClass

私が観察したことは、たとえば、7 つのインスタンスのみを実行した場合、約 10G のメモリが使用され、すべて問題ないということです。現在、14 のインスタンスを実行しています。メモリはすぐに使い果たされ、すべての 64G が占有され、マシンの速度が劇的に低下し、ログインすることさえ難しくなりますhtop。私のプログラムに何が起こっているのか、計算リソースを効率的に使用できるように修正する方法を誰か教えてもらえますか? ありがとう!

4

2 に答える 2

1

計算リソースを効率的に使用するにはjar、1 つの JVM で複数のスレッドを開始するものを開始する必要があります。同じ の 14 個のインスタンスを開始するとjar、14 個の分離された JVM が実行されます。

于 2013-03-26T08:06:34.587 に答える
0

この問題を解決した後、(私のように) これらのシェルのようなツールを完全に気に入った場合は、Java トラブルシューティング ツールの完全なリストを参照してください。時間を大幅に節約できるため、遅れてメモリ/CPU をデバッグする代わりに、早めにパブに行くことができます。問題

于 2013-03-26T08:50:57.920 に答える