現在、grailsでパフォーマンスの問題が発生しています。メインページの1つをロードするのに約10秒かかります。確認したところ、grailsアプリが512メモリで起動していることがわかりました。現在、最大3.5ギガ相当のRAMを使用できます。
以下をエクスポートしてみました。
export Java_OPTS = "-XX:MaxPermSize = 1024m -Xmx1024M -server"
起動方法を確認したところ、512mの設定で起動したようです。このセットはどこにありますか?
Csabaの答えは正確ではありません。
StartGrailsスクリプトを微調整する必要はありません。次回Grailsをアップグレードすると、構成が失われるため、これは危険なことです。私は、複数の開発者の間で同じであるべき環境についてさえ話していません!
解決策は非常に簡単です:
GRAILS_OPTS="-XX:MaxPermSize=1024m -Xmx1024M -server"
を定義しますJava_OPTS
を定義しないでくださいLinuxまたはその他のUNIXバリアントを使用していると思います。
残念ながら、(少なくともGrails 1.1.1では)$GRAILS_HOME/bin/startGrails
は-Xmx512m
にJava_OPTS
値を直接設定しているようです(Windowsでは、startGrails.bat
はこれを設定する場合にのみ設定します独自の値を提供しない-なぜunixスクリプトの動作が異なるのだろうか)。現在のところ、startGrails
でこの設定を上書きするのが唯一の方法のようです。
上記は開発にのみ当てはまることに注意してください。アプリケーションサーバーにwarをデプロイすると、サーバー起動スクリプトのメモリ設定が使用されます。
更新2010.07.30:fabian7474が書いたように、 Grails 1.2.2からGRAILS_OPTS
を使用してvmを指定できますパラメータと今それは推奨される方法です。