自分用の雑なメモ。正確性は不明。
原因
sbt -helpしてみると、sbtは-memのデフォルトが以下のように設定されている。
-mem <integer> set memory options (default: 1024, which is -Xms1024m -Xmx1024m -XX:ReservedCodeCacheSize=128m -XX:MaxMetaspaceSize=256m)
ので、プロジェクトが大きくなってきてデフォルトの256mを超えるだけMetaspaceを使うと、死んでしまう様子。
対処
対応としては
- 1. sbtの起動時にsbt -memオプション付きで起動する
- 2. globalなsbtoptsに-memオプションを記述しておく
- 3. プロジェクトルートに.sbtoptsファイルを置いて、そこで設定する
などの手がありそう。1や2の方法だと同じチームの人も困るだろうし、3の方法で設定するのが良さそうだ。
例えばこんな感じで.sbtoptsは設定しておくと良さそう。
.sbtopts
-J-Xms1024m -J-Xmx4096m -J-XX:ReservedCodeCacheSize=512m -J-XX:MaxMetaspaceSize=1024m