Linux和Windows之间的Java算法性能差异

时间:2015-02-24 14:34:33

标签: java linux windows performance kernel

我们观察到Linux(ubuntu)和Windows之间的java算法的性能差异非常显着。该算法在JADE多代理系统上运行。在系统中,每个代理都有自己的进程。代理执行计算密集型操作并相互通信。性能的差异是3x-4x,有利于Windows。测试机器是i3770四核(8个逻辑核心)。我们已经检查过java 7和8,32位和64位版本。在Linux下,所有核心都具有相同的负载:大约50%用于用户空间,50%用于内核。在Windows下,80%用于用户模式,20%用于内核。

The PNG files contain the Java profile information sorted by various columns from Windows and Linux. (jdk8-u25-x64)

最近,我们使用“chrt”命令将Linux性能提高了一倍:“chrt -f 99 java ...”,它为java进程启用了FIFO_SCHED调度。

我们怀疑Linux不必要地在任务之间切换太多次了。

有没有办法在Linux上提高java性能以匹配Windows性能?

0 个答案:

没有答案