Java 新Windows 10工作站上的慢速JVM

Java 新Windows 10工作站上的慢速JVM,java,jvm,Java,Jvm,我构建了一个基于intel 7820x处理器(8核,X-299)的新工作站。与我的旧机器(6核3.5 Ghz Xeon MacPro,2013)相比,单核性能提高了约40%,多核性能提高了约100% 有一个例外:Windows10(Home)下的Java性能比OSX下的旧机器慢10%左右。我尝试了很多选择,从JVM8的不同版本(不幸的是JVM7和JVM9对我来说都不是选项)到使用新的Turbo Boost技术,到各种JVM参数(XMX、aggressiveopts等等),甚至到尝试Windows

我构建了一个基于intel 7820x处理器(8核,X-299)的新工作站。与我的旧机器(6核3.5 Ghz Xeon MacPro,2013)相比,单核性能提高了约40%,多核性能提高了约100%

有一个例外:Windows10(Home)下的Java性能比OSX下的旧机器慢10%左右。我尝试了很多选择,从JVM8的不同版本(不幸的是JVM7和JVM9对我来说都不是选项)到使用新的Turbo Boost技术,到各种JVM参数(XMX、aggressiveopts等等),甚至到尝试Windows的Linux子系统

当我在Linux(Ubuntu)下的JVM上在同一台机器上运行我的程序时,性能与预期一样(快40%-100%)

有人知道发生了什么事吗?我怀疑我丢失了JVM的某些标志/参数,或者可能遇到了错误,但我似乎已经没有选择了


我的JVM工作负载侧重于单核活动,而多核活动有限。内存使用率从低到中等(典型的web服务器),几乎不涉及任何磁盘活动

会怀疑三级缓存大小的差异。

很有趣。您尝试过32位版本的Java8吗?另外,您是如何衡量性能的?部分是一些专有的数字运算算法,部分是web服务器的性能。Windows提供了许多“触动”您的进程的东西,ofc可以提供更好的用户体验。您可以始终禁用防病毒软件并禁用运行时目录的缓存。另外还有其他设置,如以管理员身份运行(!),但由于您在主版本上运行,因此需要专门检查优化。同样如上所述,您使用的是32位还是64位客户机/服务器虚拟机?您是否也在使用jre或jdk路径调用Web服务器?linux虚拟机是oracle jdk吗?或者你也在比较oracle jdk和捆绑的osx/linux开放jdk?谢谢你的建议,我也在考虑这个方向。然而,这并不能解释为什么Linux中的JVM在同一台机器上的性能如此优异……如果你运行一个分析器,你可以进行比较。如果探查器没有显示任何主要内容,那么我会推测计时器(操作系统之间的重大变化)。那就更难了。