前へ     目次     索引     DocHome     次へ     
iPlanet Web Server, Enterprise Edition サーブレットに関するプログラマーズガイド



付録 C   JVM の構成


Java 仮想マシン (JVM) は、適切に設定されていれば、構成を追加しなくてもデフォルトで動作します。

しかし、クラスパス情報などの JVM の設定を追加指定する必要がある場合は、Administrator インタフェースを介して iPlanet Web Server 用に JVM プロパティを追加できます。 最大 64 個のプロパティを追加できます。



  「Java」タブの「Configure JVM Attributes」ページ上にあるいくつかの属性は、「Default」と表示されています。 JVM によってデフォルト値は異なります。 実際のデフォルト値を知るために JVM に照会することはできません。JVM のマニュアルを参照してください。 たとえば、Sun の JVM では、デフォルトで JIT は JVM で有効なので、「Enable JIT」オプションで「Yes」を選択すると、「Default」と表示されます。 しかし、「No」を選択すると、明示的なエントリ java.compiler=NONEjvm12.conf ファイルに追加されます。

 



JVM の詳細は、次のサイトにある Sun の『The Java Virtual Machine Specification』を参照してください。

http://java.sun.com/docs/books/vmspec/2nd-edition/html/VMSpecTOC.do c.html



jvm12.conf ファイル



サーバの config ディレクトリに置かれているjvm12.conf 構成ファイルを編集して、JVM パラメータを構成することもできます。

たとえば、JIT を無効にするには、jvm12.conf に次の行を追加します。

java.compiler=NONE

jvm12.conf ファイルの例を次に示します。 jvm.classpath の値は、実際のファイルでは 1 行にする必要があります。

[JVMConfig]
#jvm.minHeapSize=1048576
#jvm.maxHeapSize=16777216
#jvm.enableClassGC=0
#jvm.verboseMode=1
#jvm.enableDebug=1
#jvm.printErrors=0
#jvm.option=-Xrunoii
#jvm.profiler=optimizeit
#jvm.disableThreadRecycling=0
#jvm.serializeAttach=0
#jvm.stickyAttach=0
#jvm.trace=5
#java.compiler=NONE
#OPTITDIR=D:/App/IntuitiveSystems/OptimizeIt30D
#jvm.serializeFirstRequest=0
#jvm.include.CLASSPATH=1
#nes.jsp.forkjavac=0
#nes.jsp.enabledebug=1
jvm.classpath=/usr/java/tools.jar

通常、JDK1.2 の構成には普通のプロパティオプション (name=value など) を、JVM ベンダー依存の構成には jvm.option=options を使用してください。 jvm.option パラメータは複数指定できます。

JPDA がインストールされている場合は、jvm12.conf ファイルに設定できるデバッグオプションのリストを次のサイトで入手できます。

http://java.sun.com/products/jpda/doc/conninv.html#Invocation

サーブレットと JSP のデバッグ、およびデバッグに必要な jvm12.conf パラメータの詳細は、第 5 章「サーブレットおよび JSP のデバッグ」を参照してください。



JVM 環境変数の使用



jvm12.conf ファイルの jvm.option 設定、または Administration Server を使って、JVM 環境変数を定義した場合、サーブレットはそれらを認識しません。 環境変数は、普通の name=value で指定してください。

スタンドアロンのコマンドライン java プログラムを実行している場合、次のオプションを使ってシステムプロパティを java プログラムに渡します。

java -Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB myprogram

myprogram.java ファイル中の次の行は、上記で設定したステムプロパティセットを取得します。

System.out.println("org.omg.CORBA.ORBClass="+System.getProperty("org.omg.CORBA.OR BClass"));

iPlanet Web Server のサーブレットにも同じ処理をさせる場合は、次の行を jvm12.conf ファイルに置く必要があります。

org.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB

次のような jvm.option 設定は使わないでください。

jvm.option=-Dorg.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB

または

jvm.option=org.omg.CORBA.ORBClass=com.inprise.vbroker.orb.ORB

サーブレットまたは JSPでは、次の行を使って、上記のシステムプロパティを取得できます。

System.out.println("org.omg.CORBA.ORBClass="+System.getProperty("org.omg.CORBA.OR BClass"));



jvm12.conf パラメータのリファレンス



jvm12.conf ファイルに設定できる JVM パラメータを表 C-1 に示します。


表 C-1 jvm12.conf の設定 

設定

指定できる値

デフォルト値

説明

jvm.minHeapSize  

 

1048576 (1M バイト)  

Java に割り当てられた最小ヒープサイズ

Solaris の場合は、この値を 3145278 (3M バイト) に変更する。 HPUX の場合は、この値を 4194304 (4M バイト) に変更する。 その他のすべてのシステムでは、1M バイトが最適である。  

jvm.maxHeapSize  

 

16777216 (16 MB)  

Java に割り当てられた最大ヒープサイズ  

jvm.enableClassGC  

0 (オフ)、1 (オン)  

0  

クラスガベージコレクションを有効または無効にする

-Xnoclassgc の代わりに使用する  

jvm.verboseMode  

0 (オフ)、1 (オン)  

0  

JVM の冗長モードを有効または無効にする。 オンの場合、JVM は、クラスの読み込みなど、実行中の内容を注釈として記録する。 注釈は、エラーログに追加される  

jvm.enableClassGC  

0 (オフ)、1 (オン)  

0  

JVM のリモートデバッギングを有効または無効にする

-Xdebug の代わりに使用する。

リモートデバッギングの詳細は、第 5 章「サーブレットおよび JSP のデバッグ」を参照  

jvm.printErrors  

0 (オフ)、1 (ログファイルに記録)、2 (stderr に記録)  

0  

vfprintf によるエラーレポートの出力を有効または無効にする  

jvm.option  

 

 

ベンダー JVM オプションを設定可能にする

同等のパラメータが存在するので、次のオプションは無視される。 -D-Xnoclassgc-Xdebug-Xms-Xmx-verbose  

jvm.profiler  

 

 

プロフィラを指定する。 Intuitive Systems 社製の optimizeit プロファイラを使用する場合は、OPTIDIR 設定も指定する必要がある

このオプティマイザの詳細は、付録 D「サーブレットのリモートプロファイリング」を参照  

jvm.disableThreadRecycling  

0 (オフ)、1 (オン)  

0  

スレッドの再利用を有効または無効にする。 オンの場合、サーバは常にグローバルスコープスレッドを作成してサーブレットを実行する。 オフの場合、グローバルスコープスレッドは、スレッドを処理する要求がグローバルスコープ内にない場合にのみ作成される  

jvm.serializeAttach  

0 (オフ)、1 (オン)  

0  

オンの場合、JVM に接続するスレッドは直列に並べられる。 デフォルトでは (オフの場合)、同時に複数スレッドを JVM に接続できる  

jvm.stickyAttach  

0 (オフ)、1 (オン)  

0  

このパラメータの値を 1 に設定すると、スレッドが JVM に接続されることをスレッドに記憶させることができる

これにより、AttachCurrentThread 呼び出しおよび DetachCurrentThread 呼び出しがなくなり、要求処理の速度が上がる。 ただし、次のような不利な点を持つ可能性がある。 別の処理を行っている再利用スレッドは、ガベージコレクタによって任意に処理が中断される可能性がある

スレッドプールを使うと、ほかのサブシステムでの、この不利な点を解消することができる。 スレッドプールの詳細は、iPlanet Web Server の『管理者ガイド』を参照  

jvm.trace  

 

5  

追跡レベルを決める。 サーブレットおよび JSP のデバッグの推奨レベルは 7。 レベル 5 は、サーブレットエンジンメッセージを表示する。 レベル 6 は、サーブレットおよび JSP エンジンメッセージを表示する。 レベル 7 は、ブラウザにこれらのメッセージおよびその他の例外エラーメッセージを表示する  

jvm.allowExit  

0 (オフ)、1 (オン)  

0  

処理の終了を有効または無効にする  

java.compiler  

 

 

Java コンパイラを指定する。 JIT (Just In Time) コンパイラをオンおよびオフにするオプションについては、JVM のマニュアルを参照。 jvm.enableDebug がオンの場合、 NONE に設定する必要がある  

OPTITDIR  

パス  

*  

プロファイラが optimizeit の場合、プロファイラにパスを指定する  

nes.jsp.enabledebug  

0 (オフ)、1 (オン)  

1  

冗長な JSP コンパイル追跡を有効または無効にする

リモートデバッギングの詳細は、第 5 章「サーブレットおよび JSP のデバッグ」を参照。  

jvm.include.CLASSPATH  

0 (オフ)、1 (オン)  

1  

jvm.classpath 設定に CLASSPATH 環境変数の値を追加するかどうかを指定する  

nes.jsp.forkjavac  

0 (オフ)、1 (オン)  

0  

オンの場合、JSP の Java コンパイルは別のプロセスで実行する  

jvm.serializeFirstRequest  

0 (オフ)、1 (オン)  

1 Linux、AIX、および Compaq (DEC) 用。0 その他のプラットフォーム用。  

オンの場合、1 つの要求スレッドだけが、サーブレットオブジェクトを読み込み、構築する。 サーブレットが読み込まれ、初期化されると、同じサーブレットへの新しい要求も同時に発生する。 この設定は、Linux、AIX、および Compaq (DEC) ではオンにする必要がある  

jvm.classpath  

スラッシュだけ持つパス  

 

JVM に従属する JAR ファイルへのパスを指定する。 必要に応じて、クラスパスの値を追加入力する

たとえば、JSP が JAR にパッケージ化されている Bean を使う場合、JAR パスをクラスパスに追加する

JDBC ドライバを使うセッションマネージャを使用している場合は、このクラスパスにドライバの JAR ファイルを必ず設定する  

* N:/App/IntuitiveSystems/OptimizeIt30DN は、OptimizeIt がインストールされているドライブ


前へ     目次     索引     DocHome     次へ     
Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.

Last Updated September 17, 2001