哪个JVM最适合Tomcat?

我有Tomcat 6.0并运行。 我去调整内存大小,并意识到我已经运行在Sun JDK 1.6 客户端 JVM上。 我没有安装Sun服务器JVM:

C:\>java -client -version java version "1.6.0_16" Java(TM) SE Runtime Environment (build 1.6.0_16-b01) Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing) C:\>java -server -version Error: no `server' JVM at `C:\appl\java\jre6u16\bin\server\jvm.dll'. 

澄清:我知道如何将Tomcat中的JVM从客户端切换到服务器。 我只需要select最合适的服务器JVM。

我会注意到客户端和服务器JVM之间的巨大差异? 如果我需要Sun服务器JVM,是否必须重新安装整个JDK? 是否有其他免费的服务器替代品,这将有利于运行Tomcat?

这里(来自Sun的发行说明 )是我正在寻找的答案,至less是如何确保JDK服务器正常运行:

 jre\bin\server\ 

在Microsoft Windows平台上,JDK包括Java HotSpotTM服务器虚拟机和Java HotSpotTM客户端虚拟机。 但是,Microsoft Windows平台的JRE仅包含Java HotSpotTM客户端VM。 那些希望与JRE一起使用Java HotSpotTM服务器虚拟机的人可能会将JDK的jre \ bin \ server文件夹复制到JRE中的bin \ server目录中。 软件供应商可以重新分配Java HotSpotTM服务器虚拟机,并重新分配JRE。

您是否尝试使用TOMCAT_HOME / bin /下的setenv.sh文件? 您必须手动创build该文件(例如,通过vi),然后添加Java选项。 例如:

 cd TOMCAT_HOME/bin vi setenv.sh 

在此文件中添加以下行:

export JAVA_OPTS =' – server'

这样你的JVM应该运行在服务器模式下。

是的 ,您可能需要服务器JVM。 它针对服务器端性能进行了调整。 除非您进行基准testing,否则您将无法确定,但我还没有遇到任何人说客户端VM在他们的Tomcat设置上工作得更好。

至于是否需要下载整个JDK – 不幸的是我不知道。

-server和-client只是改变普通Sun JVM的性能特征的标志。 如果你没有指定一个,JVM就会猜测。 在这种情况下,我们猜测你有一个客户机类的机器,你只需要用-server标志运行java来改变它。

请参阅: http : //java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.html