Linux系统上使用Java/Eclipse TPTP进行16线程/16核心代码评测

Linux系统上使用Java/Eclipse TPTP进行16线程/16核心代码评测,java,multithreading,eclipse,profiling,multicore,Java,Multithreading,Eclipse,Profiling,Multicore,我用Java开发了一个很好的多线程遗传算法,它运行在一个16核的系统上,该系统运行CentOS,内存为128GB 我想使用一个代码分析器,看看当我将模拟中的突变数量增加到某个点以上时,我是否能够找出代码的哪一部分陷入困境。记忆似乎不是问题 因此,我在服务器上安装了VNC和Eclipse3.6SR2,并安装了TPTP插件 问题:最大的问题是,当我进行TPTP“执行时间分析”(我使用“top”进行了检查)时,eclipse似乎并没有使用多个内核。通常,当程序从命令行运行时,它使用的内核数量与程序中的

我用Java开发了一个很好的多线程遗传算法,它运行在一个16核的系统上,该系统运行CentOS,内存为128GB

我想使用一个代码分析器,看看当我将模拟中的突变数量增加到某个点以上时,我是否能够找出代码的哪一部分陷入困境。记忆似乎不是问题

因此,我在服务器上安装了VNC和Eclipse3.6SR2,并安装了TPTP插件

问题:最大的问题是,当我进行TPTP“执行时间分析”(我使用“top”进行了检查)时,eclipse似乎并没有使用多个内核。通常,当程序从命令行运行时,它使用的内核数量与程序中的线程数量相同

有没有办法在eclipse配置中解决这个问题?

获得一个真正的分析器,如,并在启动时将代理添加到应用程序中

然后,您可以使用代理运行的端口打开SSH隧道,并可以远程评测应用程序。它有一个相当好的文档,在他们的论坛上有一个健康的社区。在我看来,YourKit非常适合多线程应用程序,我经常使用它


不需要VNC,也不需要在生产服务器上安装Eclipse。

免责声明:我的公司开发了JProfiler

使用JVMTI的探查器不应更改与常规执行相关的多核线程分布。TPTP可能不是您的最佳选择


市场上有几种功能强大的Java分析器。最著名的免费选项是,在多线程和监视器竞争分析领域具有更强大分析功能的商业替代方案是-有一个功能齐全的免费试用。

我刚刚检查过,当使用“调试”或“运行”时,所有16个核都被使用,但当使用“配置文件”时,只有一个核被使用。另一个问题是内存,在我的调试/运行配置下。我使用-Xmx32g选项为JVM分配32GB,但是TPTP似乎没有分配内存。。。或者处理器。