加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 为什么VisualVM Profiler不会配置我的Scala控制台应用程

发布时间:2020-12-15 03:00:14 所属栏目:Java 来源:网络整理
导读:我认为这个问题与 this问题密切相关,但它已经关闭,解决方案对我来说似乎并不清楚. 我正在尝试使用VisualVM来配置我的控制台Scala应用程序.我这样做是通过启动VisualVM,启动我的Scala应用程序,在VisualVM中打开它的节点,转到“Profiler”选项卡并单击“CPU”.
我认为这个问题与 this问题密切相关,但它已经关闭,解决方案对我来说似乎并不清楚.

我正在尝试使用VisualVM来配置我的控制台Scala应用程序.我这样做是通过启动VisualVM,启动我的Scala应用程序,在VisualVM中打开它的节点,转到“Profiler”选项卡并单击“CPU”.按钮变为灰色一段时间(状态永远不会变为“分析非活动”),然后返回活动状态,但不会显示任何分析数据.

该应用程序执行一些文件读取,数据处理(大约需要一分钟),stdout数据输出和退出.我还尝试将Thread.sleep(60000)添加到程序的开头和结尾,以确保有足够的时间让VisualVM捕获它并完成工作,但没有任何改变.

与我链接的相关问题不同,我没有从Eclipse或其他任何东西启动我的应用程序 – 我使用以下命令行启动它:

java -classpath myapp.jar:lib/* MyApp.Main

所有库(包括scala-library.jar)都放在lib /中.该应用程序按预期工作.

更新:

>我已经尝试过YourKit Java Profiler 11.0.2,它因AttachNotSupportedException而失败.
>我在attaching the agent manually之前使用YourKit进行了管理.
>似乎值得强调的是,我既没有从IDE(或构建工具)运行应用程序,也没有修改任何JVM选项而是修改了类路径.据我所知,这个问题似乎取决于JVM版本和用户/权限问题.目标是找出问题的实际机制以及配置所有工作的方法.

使用的软件版本:

> YourKit Java Profiler 11.0.2
> VisualVM 1.3.4
> SBT 0.12.3(构建但不运行(我实际上都试过))
> Scala 2.9.2
> Oracle Java 1.7.0_04-b20
> XUbuntu Linux 12.04 32位i386
> Linux内核3.2.0-24-generic-pae

解决方法

我两天前使用VisualVM来分析Scala应用程序,所以我相信它应该可行.以下是我的建议:

>将YouKit从等式中取出并在没有它的情况下运行起始器
>将scala从等式中取出,尝试分析一个执行while(true)的Java hello世界{Thread.sleep(10000); }
>让它工作然后放回Scala,然后放回YourKit.

编辑:根据您的输入,我建议显式设置远程JMX连接.您可以使用以下选项启动Java:

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=20000
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

然后在VisualVM中,将JMX连接添加到localhost:20000.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读