1. ホーム
  2. scala

[解決済み] java.lang.OutOfMemoryErrorを防止する方法。Scalaのコンパイル時にPermGenスペースが発生するのを防ぐには?

2023-06-18 02:31:04

質問

scalaコンパイラの奇妙な挙動に気づきました。クラスをコンパイルする際に、時々OutOfMemoryErrorを投げます。以下はそのエラーメッセージです。

[info] Compiling 1 Scala source to /Users/gruetter/Workspaces/scala/helloscala/target/scala-2.9.0/test-classes...
java.lang.OutOfMemoryError: PermGen space
Error during sbt execution: java.lang.OutOfMemoryError: PermGen space

たまにしか発生せず,その後のコンパイル実行では通常エラーは出ません.Scala 2.9.0を使用し、SBT経由でコンパイルしています。

どなたかこのエラーの原因について手がかりをお持ちではないでしょうか?あなたの洞察に前もって感謝します。

どのように解決するのですか?

原因 OutOfMemoryError: PermGen space が十分でないことです。 永久世代スペース :) Oracle JVM を使っている場合、このファイルに -XX:MaxPermSize=256M (あるいは他の量のスペース)引数をあなたの sbt スクリプトの引数を指定します。他のJVMについては、それらのドキュメントを参照してください。