大規模なインストールの一部としてTomcatのメモリ設定を構成する必要があるため、事実が問題になった後、構成アプリを使用してTomcatを手動で構成します。 JVMメモリ設定をJava_OPTS環境変数に投げることができると思っていましたが、jconsoleでテストして動作するかどうかを確認しています...動作しません。
以下のコメントによると、CATALINA_OPTSも機能しません。これまでのところ、Tomcat構成GUIを使用してのみ機能させることができますが、これは私の問題に対する許容可能な解決策ではありません。
Serhiiの提案は機能しますが、ここでさらに詳しく説明します。
インストールのbinディレクトリを見ると、catalina.shまたは.batスクリプトが表示されます。これらを見ると、環境変数を設定するためにsetenv.shまたはsetenv.batスクリプトが存在する場合、それぞれ実行することがわかります。関連する環境変数は、catalina.sh/batの上部にあるコメントに記載されています。それらを使用するには、たとえば、次の内容のファイル$ CATALINA_HOME/bin/setenv.shを作成します
export Java_OPTS="-server -Xmx512m"
Windowsの場合、setenv.batに次のようなものが必要です。
set Java_OPTS=-server -Xmx768m
これがお役に立てば幸いです、グレン
変更する環境変数を使用して、Tomcat/binディレクトリーにsetenv。(sh | bat)ファイルを作成します。
Catalinaスクリプトは、setenvスクリプトが存在するかどうかを確認し、実行して環境変数を設定します。これにより、パラメーターをTomcatの1つのインスタンスのみに変更でき、別のインスタンスにコピーしやすくなります。
おそらく設定アプリがsetenvスクリプトを作成しているため、Tomcatは環境変数を無視しています。
使用 CATALINA_OPTS
環境変数。
Ubuntu 11.10およびApache-Tomcat6(apt-getからインストール)を使用している場合、この構成を/ usr/share/Tomcat6/bin/catalina.shに配置できます。
# -----------------------------------------------------------------------------
Java_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m \
-Xmx1024m -XX:NewSize=512m -XX:MaxNewSize=512m -XX:PermSize=512m \
-XX:MaxPermSize=512m -XX:+DisableExplicitGC"
その後、ps -ef |を使用して構成を確認できます。 grep Tomcat :)
Linux仮想マシンに便利。 Tomcatの合計システムメモリの75%を使用します。イェイ.
「{Tomcat} /bin/startup.sh」の先頭に置く
export CATALINA_OPTS="-Xmx`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`k"
次のsetenv.bat
コンテンツを使用します。
==============setenv.bat============
set Java_OPTS=-XX:MaxPermSize=256m -Xms256M -Xmx768M -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=7777,server=y,suspend=n %Java_OPTS%
====================================
また、デバッグを有効にし、デバッグポートを7777に設定し、Java_OPTS
の以前のコンテンツを追加します。
使用可能なサーバーメモリに基づいてTomcat6メモリを設定するというアイデアが気に入っています(ハードウェアのアップグレード後にセットアップを変更する必要がないため、すばらしいです)。これが私の(ビット拡張メモリのセットアップ)です:
export CATALINA_OPTS = "-Xmx
`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`
k -Xms`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.75 } '`
k -XX:NewSize =`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`
k -XX:MaxNewSize =`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`
k -XX:PermSize =`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`
k -XX:MaxPermSize =`cat /proc/meminfo | grep MemTotal | awk '{ print $2*0.15 } '`
k "
配置先:「{Tomcat} /bin/startup.sh」(Ubuntu 10.10の場合は「/ usr/share/Tomcat6/bin」など)
前のコメントに追加するために、Tomcatサービス設定を更新するためのコマンドラインツールのドキュメント(TomcatがWindowsでサービスとして実行されている場合)は here です。このツールは、適切な設定でレジストリを更新します。そのため、Tomcat5のデフォルトのサービス名を想定して、Tomcatサービスの最大メモリ設定を更新したい場合は、Tomcat/binディレクトリからこれを実行できます。
Tomcat5 //US//Tomcat5 --JvmMx=512
WindowsでTomcatを実行する場合、Tomcatに同梱されているきちんとした「Tomcat Monitor」アプリケーションを使用できます。
Javaタブに移動します。下部の[Javaオプション]テキストエリアの下に、3つの入力フィールドがあります。
それがあなたにとって適切な解決策であるかどうかはわかりません。ただし、Tomcatのメモリ設定や接続数などを実際に監視する唯一の方法は、 Lambda Probe です。
Tomcatの調整に必要な情報のほとんどが表示されます。 Tomcat 5.5および6.0でテストし、ベータステータスと2006年末の最終更新日にもかかわらず正常に動作します。
Tomcatを(サービスとしてではなく)手動で開始する場合は、CATALINA_OPTS環境変数が最適です。サービスとして起動する場合、設定はおそらくレジストリのどこかに保存されます。マシンにTomcat 6がインストールされており、HKLM\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java
キー。
Catalina/bin/startup.shスクリプトを編集するだけです。次のコマンドを追加します。
#Adjust it to the size you want. Ignore the from bit.
export CATALINA_OPTS="-Xmx1024m"
#This should point to your catalina base directory
export CATALINA_BASE=/usr/local/Tomcat
#This is only used if you editing the instance of your Tomcat
/usr/share/Tomcat6/bin/startup.sh
私の場合、/ etc/sysconfig/Tomcat5.confファイルが/etc/Tomcat5/Tomcat5.confのすべての設定を上書きしていました