1. ホーム
  2. scala

[解決済み] sbtのヒープサイズを設定するには?

2023-02-08 09:46:08

質問

SBT 0.12.0を使用しています。私はスタックオーバーフローで他の答えを読み、それらに従いましたが、それらのどれもが、例えば、助けになりません。

  • 作成する ForkRun クラス - 私はsbtの使用中にフォークされたプロセスを観察していません。
  • 環境変数を設定する JAVA_OPTS - が設定されているが、sbtのプロセスコマンドラインはこれを全く使っていないようだ。
  • sbt -J-Xmx2G はsbtのプロセスコマンドラインにパラメータを追加しますが、古い値である -Xmx1536m は、追加されたパラメータの代わりにsbtによって使用されます。

私は何かを見逃しているのでしょうか?sbt 0.12 のヒープサイズをどのように設定すればよいでしょうか。 run ?

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

解決策が見つかりました。JVM ヒープ サイズをどのように指定しても、SBT 実行可能ファイルにすでにオーバーライドされているため、決してうまくいきません。

SBT実行ファイルに以下のような行があります。

. /usr/share/sbt/sbt-launch-lib.bash

というわけで、編集してみました。

  # run sbt
  execRunner "$java_cmd" \
    ${SBT_OPTS:-$default_sbt_opts} \
-   $(get_mem_opts $sbt_mem) \
    ${java_opts} \
    ${java_args[@]} \
    -jar "$sbt_jar" \
    "${sbt_commands[@]}" \
    "${residual_args[@]}"

を削除して - の行を削除します。

これで、SBTを実行するときに、JVMヒープサイズ設定を上書きすることはなくなりました。Noanの回答を使用してヒープサイズ設定を指定することができます。

あるいは、別の方法として

sbt -J-Xmx4G -J-Xms4G