Java 使用-server-JVM选项运行tomcat
我正在使用-server jvm选项测试我的tomcat服务器4。我的JDK在FreeBSD上是1.5 我看不到任何明显的区别或任何问题。如果我要在我的prod系统上启用此选项,我可以期待什么样的改进,我应该注意什么样的问题 我已经读过了,但它没有详细讨论这一点。讨论了区别。在我们的任何生产系统中,我们很少使用默认参数(GC收集算法、堆大小等),因此它没有提供太多的提升Java 使用-server-JVM选项运行tomcat,java,performance,tomcat,jvm,Java,Performance,Tomcat,Jvm,我正在使用-server jvm选项测试我的tomcat服务器4。我的JDK在FreeBSD上是1.5 我看不到任何明显的区别或任何问题。如果我要在我的prod系统上启用此选项,我可以期待什么样的改进,我应该注意什么样的问题 我已经读过了,但它没有详细讨论这一点。讨论了区别。在我们的任何生产系统中,我们很少使用默认参数(GC收集算法、堆大小等),因此它没有提供太多的提升 在实现此参数后,没有任何具体的事情需要注意,但是如果您看到-server和-client之间的差异,那么JIT编译器总是一个很
在实现此参数后,没有任何具体的事情需要注意,但是如果您看到-server和-client之间的差异,那么JIT编译器总是一个很好的起点。JVM很可能已经在服务器模式下运行。对于Linux上的JDK 5/6,JVM将在服务器类机器上默认为服务器模式: “[…]服务器类计算机的定义是至少有2个CPU和至少2GB的物理内存。” 这是有文档记录的(对于Java6)
没有详细说明FreeBsd上会发生什么,但我希望是FreeBsd JVM只是服务器模式,或者像Linux一样默认为服务器类机器上的服务器模式。诀窍在于现代JVM可以“自动检测”类似服务器的机器。因此,如果不指定
-server
或-client
,JVM1.5+将选择最佳方法,并且它可能只是在服务器模式下运行,即使您不使用该属性
在这种情况下,如果使用-client
选项启动JVM,您可能会注意到一个差异
参考
我建议您切换到1.6 JVM,因为它有更好的gc实现,并且优化得更好。您会注意到,由于垃圾收集和其他参数的不同,长期来看会有差异。建议:使用tomcat 6和JDK 6。@Harry Joy-我希望我能:(我在JDK1.5上。说JVM从1.5开始默认为服务器类机器的服务器模式。所以我想我不需要显式地打开它。呃……他没有。这就是他的问题所在。)。