2011-07-12 4 views
4
私は cataina.sh fileCATALINA_OPTS="-Xms2048m -Xmx2304m"を設定およびLinux OSで2304メートルに2048メートル(2GB)としてJVMのヒープサイズでLinux上のTomcatをインストールする(2GB + 256メガバイト) をつもりです

が はそう私はRAMの8ギガバイトを持ってメモリ消費量いくつかの点を助けてくださいTomcatの

  • tomcatはOSから直接2GBを消費する必要がありますか?
  • 上記に該当しない場合は、どれくらいかかるでしょうか?
  • メモリがtomcatによって取得された場合、2GB未満である場合、このTomcatのosによって割り当てられたこの2GBのメモリは、これだけに使用されるか、または一部のアプリでこのメモリを使用できますか?
  • 最後に、この最大と最小のメモリを設定しています。これは、OSがtomcatのメモリ量をすべて割り当てていることを意味していますか?

答えて

8

-Xmsに指定したメモリは、JVMによって事前に割り当てられます。したがって、起動時に2GBのメモリを要求して割り当てます。後でさらにメモリを必要とする場合(最大で-Xmx)、JVMはOSからより多くのメモリを要求します。

しかし、この大量のメモリが必要だとご存じですか?メモリ消費の主な要因は、でなく、 Tomcatです。いくつかのサーブレットやJSPを持つシンプルなWebアプリケーションは、32MB未満のヒープで簡単に実行できます。最適な設定を決定するには、アプリケーションのパフォーマンス/負荷を測定する必要があります。

サイドノート - JVMパラメータを設定するには、catalina.shではなく、setenv.shJAVA_OPTSを設定することをお勧めします。

+0

私は上記の設定でtomcatをデプロイしました。私はtomcatがメモリの2GBではなく、Linux topコマンドから200MB〜300MBのメモリしか取っていないことを発見しました。 2GBは予約済みのメモリであり割り当てられていないという結論を下さなければなりません。これで助けてください – ajduke

+0

私はJVMがあなたの-Xms/-Xmx設定を選んでいないかもしれないと思います。 setenv.shのJAVA_OPTSに移動してみてください。 – AngerClown

+0

JVMがパスパラメータを取得していないため、jvisualvmでチェックしました。これはjvisualvmから2GBを取り上げているが、OSは200MB〜300MBしか見せていない。 – ajduke