1

jruby を使用すると、単純なコマンドでさえgem -v失敗します。最初に、次のエラーが発生しました。

Error: Your application used more stack memory than the safety cap of 2048K.
Specify -J-Xss####k to increase it (#### = cap size in KB).
Specify -w for full StackOverflowError stack trace

この質問とリンクされた問題を読んだ後、 rvmを更新し、リロードし、jruby を再インストールしてエクスポートJRUBY_OPTS=-J-Xss32768kしました (8192k はまだスタック エラーで失敗しました) 。および他の同様の呼び出しは何も返しません。利用可能なすべての RAM (最大 7 GB 以上) を取得する Java プロセスを開始し、2 ~ 3 分間実行した後、何の影響もなく静かに終了します。rvm -vrvm 1.18.21 (latest)rvm currentjruby-1.7.3gem -v

これを修正するために他にできることはありますか?

のように別のルビーに切り替えるとruby-head、すべて正常に動作します。

4

3 に答える 3

2

これは、古い JRuby をサポートし、RVM を更新して JRuby を再インストールするための追加のコードが含まれていた古い RVM が原因で発生する可能性があります。

rvm get head
rvm reinstall jruby
于 2013-03-20T13:03:30.143 に答える
0

実行しているオペレーティング システムは何ですか? JAVA OPTS 環境変数は何に設定されていますか? JRuby が 7GB を消費するのは、標準的な構成ではありそうにないように思えます。 -J-Xmx は、私が見た環境では通常 1024mb のような適切な値に設定されており、JVM により多くのメモリを割り当てるには、これを明示的にオーバーライドする必要があります。

次のコマンドを発行してみてください。

jruby -J-Xmx1024m -S gem env

ここにコンテンツを投稿します。

于 2013-03-20T11:11:06.993 に答える