インデックス

wrapper.java.maxmemory プロパティ

対応バージョン :1.0.0
対応エディション :プロフェッショナル版スタンダード版コミュニティー版
対応プラットフォーム :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

このプロパティには、JVM が利用できる「最大のメモリ容量」をメガバイト(MB)で設定します。 デフォルト値は「0 (ゼロ)」で、JVM のデフォルト値を利用します。 ほとんどの JVM では、そのデフォルト値は「64MB」です。

もし、このプロパティ値にゼロ以外の値を指定した場合、 Wrapper によって生成された Java コマンドへ、適切な[-Xmx]パラメータが加えられます。 このプロパティ値が指定されている場合、初期メモリは、 [wrapper.java.initmemory] プロパティに設定した値以上でなければなりません。 正確な上限は JVM によって異なりますが、32 ビット JVM の場合、2048MB 未満になる傾向があり、 ほとんどの場合 1800MB に近くなります。 64 ビット JVM では、はるかに高い設定が可能です。これが、64 ビット JVM を利用する主たる理由の一つです。

このプロパティ値を「0 (ゼロ)」に設定した場合、 [wrapper.java.additional.<n>] プロパティを使って、 [-Xmx]パラメータを手動で指定することも可能です。

設定例:(64MB)
wrapper.java.maxmemory=64

このプロパティは、ほとんどのユーザーの便宜のために提供されており、 [wrapper.java.maxmemory.percent]プロパティで説明されている通り、 相対的なメモリサイズを設定することもできます。 より複雑なメモリ構成が必要な場合は、以下のように [wrapper.java.additional.<n>]プロパティを 使用して行うことができます。

設定例: (3MBと同等)
wrapper.java.additional.1=-Xmx64m

注意

もし、アプリケーションに[java.lang.OutOfMemoryErrors]が発生して悩んでいる場合には、 アプリケーションに対する有効なメモリ最大容量を増やす必要がある、という事を示していることも時折あります。 マシン上の実際のメモリ量より大きい値を、この最大メモリに設定すると、 メモリのスワッピングを発生させる結果となりますので注意してください。 メモリのスワッピングは、OS(オペレーティングシステム)の機能の1つであり、 そのパフォーマンスは、OS固有のものです。 しかしながら、経験上、これは、アプリケーションのパフォーマンスの著しい低下につながる傾向にあります。 ほとんどのケースでは、最大メモリを、使用可能なメモリ内に収まる値に設定して、 Java のガベージコレクションに依存することをお勧めします。

注意

次のリンクでは、初期メモリ値と最大メモリ値が Java のパフォーマンスにどのように影響するか、 および特定のアプリケーションのパフォーマンスを向上させるために何ができるかについて詳しく説明していますので ご一読することをお薦めします。

wrapper.java.maxmemory.percent プロパティ

対応バージョン :3.3.0
対応エディション :プロフェッショナル版スタンダード版コミュニティー版 (未対応)
対応プラットフォーム :WindowsMac OSXLinuxIBM AIXFreeBSDHP-UXSolarisIBM z/OSIBM z/Linux

時には、システム上の有効な物理メモリ量に対して相対的な「しきい値」でメモリを設定する必要があります。 このプロパティの有効な値は、 「1%」から「100%」の範囲で指定し、MB サイズへ計算して変換されます。

Wrapper 32 ビット版では、物理メモリか 2048MB より低い値への相対的な値を計算します。

設定例:(60%)
wrapper.java.maxmemory.percent=60

上記の例(60%)の場合には、もしシステムに「1GB (1024MB)」のメモリがインストールされているならば、 最大メモリは「614MB (=1024x60%)」として設定されます。

Wrapper 32 ビット版では、マシンに 4GB のメモリがある場合、初期メモリは「1228MB (=1024x60%)」になります。

注意

JVM にスワップメモリが発生すると、Java の動作がとても鈍くなります。 従って、安全なメモリレベルを決定する際に、OS 要件やその他のアプリケーションを考慮することが重要です。

注意

バージョン 3.5.29 以降には、動的変数「WRAPPER_SYSMEM_<P>」を使用して、 システムで使用可能な物理メモリのパーセンテージを「<P>」で指定できます。

設定例:(60%)
wrapper.java.additional.1=-Xmx%WRAPPER_SYSMEM_60.0%

詳細については、環境変数ページを御覧ください。

参照: Java メモリー

参照: パラメータ