jar 在我的机器上更快,但在其他机器上更慢
jar is faster in my machine but slower in other
我编写了一个 java 程序,它使用多线程并在处理完成时打印 运行 时间。
我已经创建了 jar 文件,所以我可以在大学的服务器上测试它。 eclipse 中的程序和 jar 文件 运行 在我的机器上都完美无缺(8 GB RAM 和只有 4 个 CPU Ubuntu
)。但是当我尝试在服务器上执行 jar 时,速度慢了 2 倍!知道服务器上的虚拟机有 8GB RAM 和 6 个 CPU (Debian
)。
为什么jar文件在虚拟机上比较慢?我想这可能是因为 Debian 机器上的 JDK 版本,所以我更新了 JDK 和 JRE。
(在 Debian
中使用了 Java 版本)
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-1~deb9u1-b11)
OpenJDK Server VM (build 25.171-b11, mixed mode)
(Java 我的版本 "supposed-to-be-slower" Ubuntu
)
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
从 Java 7 开始,OpenJDK 和 Oracle HotSpot 之间几乎没有区别,请参阅 Moving to OpenJDK as the official Java SE 7 Reference Implementation 文章。
如果您想比较两台 Linux 机器上的执行情况,您可以尝试使用 Flame Graphs:
进行分析
Flame graphs are a visualization of profiled software, allowing the most frequent code-paths to be identified quickly and accurately.
提供了如何使用它们的一个很好的示例 on Netflix tech blog,尤其是 "The Problem with Profilers" 部分。
我编写了一个 java 程序,它使用多线程并在处理完成时打印 运行 时间。
我已经创建了 jar 文件,所以我可以在大学的服务器上测试它。 eclipse 中的程序和 jar 文件 运行 在我的机器上都完美无缺(8 GB RAM 和只有 4 个 CPU Ubuntu
)。但是当我尝试在服务器上执行 jar 时,速度慢了 2 倍!知道服务器上的虚拟机有 8GB RAM 和 6 个 CPU (Debian
)。
为什么jar文件在虚拟机上比较慢?我想这可能是因为 Debian 机器上的 JDK 版本,所以我更新了 JDK 和 JRE。
(在 Debian
中使用了 Java 版本)
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-1~deb9u1-b11)
OpenJDK Server VM (build 25.171-b11, mixed mode)
(Java 我的版本 "supposed-to-be-slower" Ubuntu
)
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
从 Java 7 开始,OpenJDK 和 Oracle HotSpot 之间几乎没有区别,请参阅 Moving to OpenJDK as the official Java SE 7 Reference Implementation 文章。
如果您想比较两台 Linux 机器上的执行情况,您可以尝试使用 Flame Graphs:
进行分析Flame graphs are a visualization of profiled software, allowing the most frequent code-paths to be identified quickly and accurately.
提供了如何使用它们的一个很好的示例 on Netflix tech blog,尤其是 "The Problem with Profilers" 部分。