我编写了一个java程序,它使用多线程并在处理完成时打印运行时。
我创建了jar文件,以便在大学的服务器上进行测试。eclipse中的程序和jar文件都在我的机器上完美地运行(8GB内存和4个CPU Ubuntu
)。但是,当我试图在服务器上执行jar时,速度会慢2倍!知道服务器上的虚拟机有8GB内存和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版本在我的“应该是慢一点的”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)
发布于 2018-07-12 21:44:54
在Java7中,OpenJDK和HotSpot之间几乎没有区别,请参阅迁移到OpenJDK作为官方的Java 7参考实现文章。
如果您想比较两台Linux机器上的执行情况,可以尝试使用火焰图进行分析。
火焰图是一个可视化的剖析软件,允许最频繁的代码路径被快速和准确地识别。
如何使用它们的一个很好的例子是可用的Netflix科技博客,特别是“问题与分析器”部分。
https://stackoverflow.com/questions/51314242
复制相似问题