web-dev-qa-db-ja.com

grailsrun-appのXmxとXmsを増やします

現在、grailsでパフォーマンスの問題が発生しています。メインページの1つをロードするのに約10秒かかります。確認したところ、grailsアプリが512メモリで起動していることがわかりました。現在、最大3.5ギガ相当のRAMを使用できます。

以下をエクスポートしてみました。

export Java_OPTS = "-XX:MaxPermSize = 1024m -Xmx1024M -server"

起動方法を確認したところ、512mの設定で起動したようです。このセットはどこにありますか?

29
XanderLynn

Csabaの答えは正確ではありません。

StartGrailsスクリプトを微調整する必要はありません。次回Grailsをアップグレードすると、構成が失われるため、これは危険なことです。私は、複数の開発者の間で同じであるべき環境についてさえ話していません!

解決策は非常に簡単です:

  1. GRAILS_OPTS="-XX:MaxPermSize=1024m -Xmx1024M -server"を定義します
  2. Java_OPTSを定義しないでください
59
fabien7474

Linuxまたはその他のUNIXバリアントを使用していると思います。

残念ながら、(少なくともGrails 1.1.1では)$GRAILS_HOME/bin/startGrails-Xmx512mJava_OPTS値を直接設定しているようです(Windowsでは、startGrails.batはこれを設定する場合にのみ設定します独自の値を提供しない-なぜunixスクリプトの動作が異なるのだろうか)。現在のところ、startGrailsでこの設定を上書きするのが唯一の方法のようです。

上記は開発にのみ当てはまることに注意してください。アプリケーションサーバーにwarをデプロイすると、サーバー起動スクリプトのメモリ設定が使用されます。

更新2010.07.30:fabian7474が書いたように、 Grails 1.2.2からGRAILS_OPTSを使用してvmを指定できますパラメータと今それは推奨される方法です。

7
Csaba_H