我已经启动并运行了 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 从客户端切换到服务器。我只需要选择最合适的服务器 JVM。
我会注意到客户端和服务器 JVM 之间的巨大差异吗?如果我想要 Sun 服务器 JVM,我是否必须重新安装整个 JDK?是否有其他免费的服务器替代品可以很好地运行 Tomcat?
这里(来自Sun 发行说明)是我一直在寻找的答案,至少是关于如何确保 JDK 服务器启动并运行的答案:
您是否尝试过使用 TOMCAT_HOME/bin/ 下的文件 setenv.sh ?您必须手动创建此文件(例如通过 vi),然后添加 Java 选项。例如:
在此文件中添加以下行:
这样你的 JVM 应该在服务器模式下运行。
是的,您可能需要服务器 JVM。它针对服务器端性能进行了调整。除非您进行基准测试,否则您将无法确定,但我还没有遇到任何人说客户端 VM 更适合他们的 Tomcat 设置。
至于您是否需要下载整个 JDK —— 不幸的是,我不知道。
-server 和 -client 只是改变普通 sun JVM 性能特征的标志。如果您不指定一个,JVM 会猜测。在这种情况下,它猜测你有一个客户端类机器,你只需要运行带有 -server 标志的 java 来改变它。
请参阅:http: //java.sun.com/j2se/1.5.0/docs/guide/vm/server-class.html