web-dev-qa-db-ja.com

Tomcat 7ヒープサイズを変更できません

catalina.shに次の行を追加して、Tomcat 7のヒープサイズを設定しました

export CATALINA_OPTS="-Xms512m -Xmx1024m"

その後、Tomcatを停止して開始しました。しかし、コマンドjmap -heapを使用してヒープサイズを取得しようとすると、メモリが変化しないことがわかります。

Heap Configuration:
   MinHeapFreeRatio = 40
   MaxHeapFreeRatio = 70
   MaxHeapSize      = 526385152 (502.0MB)
   NewSize          = 1048576 (1.0MB)
   MaxNewSize       = 4294901760 (4095.9375MB)
   OldSize          = 4194304 (4.0MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 16777216 (16.0MB)
   MaxPermSize      = 67108864 (64.0MB)

Heap Usage:
PS Young Generation
Eden Space:
   capacity = 99352576 (94.75MB)
   used     = 9643144 (9.196418762207031MB)
   free     = 89709432 (85.55358123779297MB)
   9.705982862487632% used
From Space:
   capacity = 4063232 (3.875MB)
   used     = 0 (0.0MB)
   free     = 4063232 (3.875MB)
   0.0% used
To Space:
   capacity = 5177344 (4.9375MB)
   used     = 0 (0.0MB)
   free     = 5177344 (4.9375MB)
   0.0% used
PS Old Generation
   capacity = 37748736 (36.0MB)
   used     = 21889008 (20.874984741210938MB)
   free     = 15859728 (15.125015258789062MB)
   57.98606872558594% used
PS Perm Generation
   capacity = 60948480 (58.125MB)
   used     = 31496008 (30.03693389892578MB)
   free     = 29452472 (28.08806610107422MB)
   51.67644541750672% used

お知らせ下さい。

15
Mahmoud Saleh

追加設定export Java_OPTS="-Dcom.Sun.management.jmxremote"および JConsole を使用して、Tomcatのメモリ消費を検査します。

2
Omnaest
Sudo vi /etc/default/Tomcat7

Java_OPTS="-Djava.awt.headless=trueで始まる行を見つけます

そしてpiddly -Xmx128m-Xms512m -Xmx1024mに変更します

コアが複数ある場合...-XX:+UseConcMarkSweepGCがおそらく必要です。

62
spanky

変更しないでくださいcatalina.sh!!このファイルはユーザーが変更することを想定していません。 Tomcatの更新により、上書きされる場合があります。代わりに、「setenv.sh」というファイルを「$ CATALINA_BASE/bin」に作成します(catalina.shと同じフォルダ)。そこですべての環境変数を設定します。

setenv.shはオプションのファイルです。存在する場合は、catalina.shによってインポートされます。そして名前はあなたがそこに置いたものを示唆しています。これは、$ CATALINA_OPTS、$ Java_OPTSなどを初期化するための適切な場所です。

追伸一般的に言えば、提供されたパッケージ/配布の更新によって変更される可能性のあるファイルの微調整を避け、代替の構成アプローチが存在する必要があります。この場合、catalina.sh/etc/Tomcat7/Tomcat7.conf/etc/init.d/tomcatXなどのファイルはサイレントに更新でき、構成の変更がロールバックされていることに気付くこともありません。

49
oᴉɹǝɥɔ

etc/default/Tomcat7の編集はどうですか

# You may pass JVM startup parameters to Java here. If unset, the default
# options will be: -Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC
#
# Use "-XX:+UseConcMarkSweepGC" to enable the CMS garbage collector (improved
# response time). If you use that option and you run Tomcat on a machine with
# exactly one CPU chip that contains one or two cores, you should also add
# the "-XX:+CMSIncrementalMode" option.
Java_OPTS="-Djava.awt.headless=true -Xmx1280m -XX:+UseConcMarkSweepGC"
17
Arash Joorabchi

Catalina.shに移動します

これらの行を最初に追加します

Java_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 
-server -Xms512m -Xmx1024m
-XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m 
-XX:MaxPermSize=256m -XX:+DisableExplicitGC"

次に、startup.shを使用してTomcatを起動します。

1
Wen