World Map
Java Service Wrapperは、御社Javaアプリケーション製品の安定した信頼性を高める最短最善の方法です。
  • Free Trial
  • Buy Now
wrapper.java.maxmemory プロパティ

インデックス

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>] プロパティを使って、 [-Xms]パラメータを手動で指定することも可能です。

設定例:(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のメモリやガベージコレクションについて全てを熟知していない場合には、 下記の文書を一読することをお薦めします。 初期メモリや最大メモリがどのように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%)」として設定されます。

注意

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

注意

この機能は、現在のところ、AIX バージョン上では正しく動作しません。 その問題は調査中ですが、その理由のためだけにWrapper製品のリリースを停滞させたくなかったため、 リリース公開を継続しています。

参照: Java メモリー

参照: パラメータ