web-dev-qa-db-ja.com

Tomcat 7:初期ヒープサイズを正しく設定する方法は?

次の行をcatalina.shに追加して、Tomcat 7(CentOS、Java -version:1.6.0_25-b06)インスタンスの初期ヒープサイズを調整しようとしました。

export CATALINA_OPTS="-Xms=512M -Xmx=1024M"

Tomcatの起動は失敗し、次のメッセージをcatalina.outに記録します。

Invalid initial heap size: -Xms=512m
Could not create the Java virtual machine.

これらのオプションの何が問題になっていますか?

65
GLA

=を使用しないでください。単にこれを使用してください:

export CATALINA_OPTS="-Xms512M -Xmx1024M"
109
Joachim Sauer

次のコマンドを使用して、Tomcat7(Linuxディストリビューション)のJavaヒープサイズを正しく増やします。

echo 'export CATALINA_OPTS="-Xms512M -Xmx1024M"' > /usr/share/Tomcat7/bin/setenv.sh
27
MeJ

exportにする必要はないかもしれませんが、この行をcatalina.shに追加するだけです:

CATALINA_OPTS="-Xms512M -Xmx1024M"
10
Phat H. VU

setenv.shの方が優れています。そのような構成を1つのマシンから別のマシンに、またはあるTomcatバージョンから別のバージョンに簡単に移植できるからです。 catalina.shはTomcatのあるバージョンから別のバージョンに変更されます。ただし、どのバージョンのTomcatでもsetenv.shを変更しないでおくことができます。

別の利点は、変更をバックアップまたはバージョン管理システムに追加すると、変更の履歴を追跡しやすくなることです。 setenv.shの変更が履歴に沿ってどのように変化するかを見ると、自分の変更のみが表示されます。一方、catalina.shを使用すると、変更だけでなく、Tomcatの各新しいバージョンに伴う変更も常に表示されます。

3
mentallurg

これに出会ったばかりで、Nathanのソリューションを実装しました。

行を追加します(必要に応じて値を変更します):

export Java_OPTS="-Xms512M -Xmx1024M"

to /usr/share/Tomcat7/bin/setenv.sh

そのファイルが存在しない場合は作成し、

chown root:root it
chmod 755 it

次に、Tomcatを再起動して確認します

ps aux | grep logging

インスタンスを取得してJavaパラメータを表示するだけです

1
APA

これに時間を費やした後。私はこれがsetenv.batがどのように見えるかを見つけました。バッチファイルでは、「」文字は使用できません。

設定CATALINA_OPTS = -Xms512m -Xmx1024m -XX:PermSize = 128m -XX:MaxPermSize = 768m

echo hello "%CATALINA_OPTS%"

1

「export」キーワードを使用しなくても機能します。これは、setenv.sh(/usr/share/Tomcat7/bin/setenv.sh)にあるもので、動作します。

OS:14.04.1-Ubuntuサーバーバージョン:Apache Tomcat/7.0.52(Ubuntu)サーバー構築:2016年6月30日01:59:37サーバー番号:7.0.52.0

Java_OPTS="-Dorg.Apache.catalina.security.SecurityListener.UMASK=`umask` -server -Xms6G -Xmx6G -Xmn1400m -XX:HeapDumpPath=/Some/logs/ -XX:+HeapDumpOnOutOfMemoryError -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:SurvivorRatio=8 -XX:+UseCompressedOops -Dcom.Sun.management.jmxremote.port=8181 -Dcom.Sun.management.jmxremote.authenticate=false -Dcom.Sun.management.jmxremote.ssl=false"
Java_OPTS="$Java_OPTS -Dserver.name=$HOSTNAME"
1
mdev

Debianディストリビューションの変更に注意してください! Debian 7のCATALINA_OPTSと、Tomcatが起動しなくなった結果を変更しようとしました。このように、Java_OPTSの代わりにプロパティCATALINA_OPTSを変更することにより、この問題を解決しました。

export Java_OPTS="-Xms512M -Xmx1024M"

「Tomcatディレクトリ」/ binディレクトリに移動します

linuxの場合はsetenv.shを作成し、Linuxの場合はsetenv.batを作成します

setenv。*ファイルの内容:

export CATALINA_OPTS="$CATALINA_OPTS -Xms512m"
export CATALINA_OPTS="$CATALINA_OPTS -Xmx8192m"
export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"

この後、Tomcatを新しいパラメーターで再起動します。

説明と完全な情報はこちら

http://crunchify.com/how-to-change-jvm-heap-setting-xms-xmx-of-Tomcat/

0
Musa

Centos 7マシンで「export CATALINA_OPTS = "-Xms512M -Xmx1024M"」で機能しない場合は、vi /etc/systemd/system/Tomcat.serviceファイルからヒープメモリを変更し、psを使用してTomcatにこの値を表示できます。 -ef | grep Tomcat。

0
Birendra Rawat