我有一个多线程Java程序。我正在处理某些性能问题。
我已经改善了一切。硬件+软件现在我认为是时候转向正确的操作系统了。
我想知道,Java虚拟机最快的操作系统是什么?
我正在使用Sun Java6。您认为Sun Solaris是Java应用程序的最佳选择吗?还是FreeBSD?或者CentOS (我目前正在使用它)?
谢谢
发布于 2010-01-31 22:01:46
JVM的性能因平台而异。自从我在各种平台上评估jvm性能以来已经有一段时间了,但是当我几年前在JDK1.4上评估jvm性能时,solaris是最好的。那时候,linux中的JVM仍然是新的,并且存在线程支持问题。在JVM实现中,情况发生了很大变化。
当然,要判断这一点并不容易,您必须选择理想的硬件平台,在同一台机器上安装Soaris、Linux等,并运行一些测试来对其进行评估。支持目标CPU的JIT实现也会产生影响。
查看每个平台支持的各种扩展JVM选项,您将对您可以完成多少优化工作有一个合理的了解。
还可以考虑其他JVM,如JRockit或IBM。
发布于 2010-01-31 19:58:34
通过切换您正在使用的操作系统,您将发现很少(如果有的话)改进,除非您现在正在运行一些非常旧的版本,而且即使这样,它也可能不会给您带来您想要的性能增益。
我的猜测是,您仍然受到当前正在运行的硬件的限制,或者您的Java应用程序可能是主要问题,在投入更多硬件解决问题之前可能值得研究。
发布于 2010-05-06 08:46:20
令人惊讶的是,Windows是Java最快的平台,因为它是开发人员的原生平台,Solaris的结果是最糟糕的。在Linux上,为了方便起见,您可以从Sun、IBM、OpenJDK和BEA中进行选择。
真正的答案是什么将是最简单和成本效益高的管理平台,可能是CentOS或Ubuntu。
https://serverfault.com/questions/108119
复制相似问题