Table of Contents | Previous | Next | Index | Bookshelf

Programmer's Guide to Servlets


Appendix D
JVM Configuration

The Java Virtual Machine (JVM) works by default without any additional configuration if properly set up.

However, if you need to specify settings for the JVM, such as additional classpath information, you can configure the JVM properties for iPlanet Web Server via the Administrator interface. You can add as many other properties as you want to (up to 64).

You can also configure JVM parameters by editing the jvm12.conf configuration file, which resides under the server's config directory.

For example, to disable JIT, you can add the following line to jvm12.conf:

java.compiler=DISABLED
Here is an example jvm12.conf file. The jvm.classpath value is all on one line in the actual file.

[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.exitOnAbort=0
jvm.classpath=d:/netscape/server411/plugins/samples/servlets/beans.10/SDKBeans10.jar;d:/netscape/server411/plugins/samples/servlets/beans/SDKBeans.jar;d:/netscape/server411/bin/https/jar/xml4j_1_1_9.jar;d:/netscape/server411/bin/https/jar/Bugbase.jar;d:/netscape/server411/bin/https/jar/Calljsac.jar
Generally you should use plain property options (like name=value) for the JDK1.2 configuration and jvm.option=options for JVM-vendor dependent configurations. There can be multiple occurrences of jvm.option parameters.

The jvm12.conf file has a configuration parameter, jvm.stickyAttach. Setting the value of this parameter to 1 causes threads to remember that they are attached to the JVM, thus speeding up request processing by eliminating AttachCurrentThread and DetachCurrentThread calls. It can, however, have a side-effect: recycled threads which may be doing other processing can be suspended by the garbage collector arbitrarily.

Thread pools can be used to eliminate this side effect for other subsystems. For more information about thread pools, see "Adding and Using Thread Pools" in Chapter 7, "Configuring Server Preferences," in the iPlanet Web Server Administrator's Guide.

For information about JVM, see The Java Virtual Machine Specification from Sun at:

http://java.sun.com/docs/books/vmspec/html/VMSpecTOC.doc.html

Table of Contents | Previous | Next | Index

Last Updated: 02/25/00 16:19:14

© Copyright © 2000 Sun Microsystems, Inc. Some preexisting portions Copyright © 2000 Netscape Communications Corp. All rights reserved.