1

デスクトップ PC で実行している grails アプリで 80,000 回の http 呼び出しを実行しましたが、失敗しませんでした。cloudfoundry では、約 3000 回の http 呼び出しの後、同じアプリがメモリ不足になります。このアプリは、MySql、Mongodb、および RabbitMQ を使用します。Cloudfoundry で、VMC コマンドを使用してメモリを 1G に増やしました。テスト プログラムの実行中に、VMC stats コマンドでメモリ使用量を監視できます。メモリ使用量が 1G まで増加し、アプリが失敗します。ローカル マシンで Grails 2.0.1 を使用しています。

この問題の原因は何ですか?

これに関連している可能性があります: http://burtbeckwith.com/blog/?p=73 ?

4

2 に答える 2

1

テスト アプリはバッチ アプリケーションに似ている可能性が高いため、この記事を参考にしてください。

jconsole を使用してローカルで実行しているアプリケーションを監視し、Java に割り当てられたローカル メモリを cloudfoundry と同じ値に設定して、エラーを再現できるかどうかを確認する必要があります。jconsole がメモリを解放していないことを示している場合は、リークが発生しており、ガベージ コレクションを許可していない可能性があります。

于 2013-03-05T14:38:13.303 に答える
0

Java Web アプリの場合、Xmx も設定する必要があります。

vmc set-env APP JAVA_OPTS="-Xmx1024M"
于 2013-03-05T13:11:31.647 に答える