読者です 読者をやめる 読者になる 読者になる

sbtでOutOfMemoryが出た場合の対処法。

暫定対策:プロセスを切って再度実行。

ターミナルで下記コマンドを実行すればsbtのプロセスを切れます。

$ pkill -KILL java

恒久対策:sbtの設定を変更する。

sbtの確認。

まず、sbtコマンドを確認します。
homebrewを使っていストールした場合/usr/local/bin/sbtにあります。

#!/bin/sh
test -f ~/.sbtconfig && . ~/.sbtconfig
exec java -Xmx512M ${SBT_OPTS} -jar /usr/local/Cellar/sbt/0.13.1/libexec/sbt-launch.jar "$@"

これを見ると${SBT_OPTS}にオプションを設定すればいいことがわかります。

sbt設定ファイル作成。

sbt設定用に~/.sbtconfigを作成すると良いらしいです。
このファイルに下記設定を記載します。

export SBT_OPTS="-Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M"

これでOutOfMemoryが出なくなるようです。