現在、24 コアと 64G メモリを備えたクラスターで、jar (scala で記述されたコード) の複数のインスタンスを同時に実行していますUbuntu 11.04 (GNU/Linux 2.6.38-15-generic x86_64)
。メモリ使用量が多いという問題が発生しています。これは、実行するインスタンスの数に非常に比例しています。より具体的には、ここに私がしていることがあります
- scala でコーディングし、sbt を使用して jar にパックします。
- クラスタにログインし、使用
screen
して新しい画面セッションを開きます。 - この画面で複数のウィンドウを開きます。
- 各ウィンドウで、実行します
java -cp myjar.jar main.scala.MyClass
私が観察したことは、たとえば、7 つのインスタンスのみを実行した場合、約 10G のメモリが使用され、すべて問題ないということです。現在、14 のインスタンスを実行しています。メモリはすぐに使い果たされ、すべての 64G が占有され、マシンの速度が劇的に低下し、ログインすることさえ難しくなりますhtop
。私のプログラムに何が起こっているのか、計算リソースを効率的に使用できるように修正する方法を誰か教えてもらえますか? ありがとう!