我正在使用VisualVM来分析已使用默认的-g:vars编译的Scala程序,其中包含行号(通过javap验证类文件具有行号).但是,VisualVM在其任何分析中都没有显示任何行号,只显示方法名称.有没有办法让它显示文件和行号?使用VisualVM 1.3.2(如果重要的话:Sun JDK 6和Scala 2.9.0.1).
我看到一些似乎使用VisualVM的商用Java分析器,但我在Eclipse Marketplace中看不到任何免费/开源许可证.最好的选择是直接将VisualVM直接访问到Eclipse中.下一个最佳选择是允许我在Eclipse项目上配置和启动VisualVM的插件.最糟糕的选择是一个替代的分析器,它与VisualVM的功能类似.
我可能会遗漏一些东西,但是如果我想要一个Java分析器,最好是使用VisualVM,可以集成到Eclipse中,我是否有任何免费和/或开源选项?
我有从JVM OutOfMemory(JDK 1.5版本)生成的.hprof堆转储.
当我尝试在VisualVM中添加此文件时,它告诉我文件不是有效的核心转储.
但是从我能够运行jhat这个转储文件没有任何问题.
任何想法为什么?
我最近在我的Eclipse IDE中安装了"VisualVM Launcher".使用该启动器来帮助我的应用程序中的一些问题,我尝试将我的所有配置切换回使用以前的设置.但是,每当我使用"Coverage As - > JUnit Plug-in Test"启动我的单元测试时,它似乎仍然尝试使用VisualVM启动器.
我没有在"覆盖配置"上看到指定要使用哪个启动器的位置.如果我导航到默认启动器的首选项页面("运行/调试 - >启动 - >默认启动器"),"JUnit插件测试"下的[调试]和[运行]模式都设置为使用"JUnit插件"测试启动器".
是否有其他地方我可以在测试覆盖率工具(EclEmma)下设置运行"JUnit插件测试"的启动器?
Eclipse的版本:Juno Service Release 1
我正在使用jdk64我的java版本1.6.0_24.我在Windows Server 2008上以管理员身份运行这两个(Tomcat java进程和VisualVM)进程.
Tomcat正在运行-Xmx7196m,jvisualvm运行时-Xms24m和-Xmx256m.这可能是原因吗?
我正在使用VisualVM来查找特定呼叫所花费的时间.我发现大部分时间都在数据库调用中,但是profier显示85%的时间是java.lang.Object,而DB调用只有15%.
我读错了吗?
带有数据的颜色是时间,时间(CPU),调用.

所以我用VisualVM分析我的应用程序.
我点了一个关于我的MySQL交互的热点.我的第一个想法是热点显示我的应用程序在IO之后等待的时间.但在分析报告中,VisualVM有两列"Time"和"Time(cpu)".也许这个术语被错误地使用了,但我假设自我时间(cpu)列不包括IO时间.经过更多的调试,我们得出结论,假设是错误的并且显示了IO时间,因为热点是在MySQL驱动程序的java.net.SocketInputStream.read()和其他不应该花费任何cpu的IO事情上.
所以,我的问题是为什么visualvm报告SocketInputStream.read()为cpu时间?

我试图在Eclipse Juno中运行Visual Plugin.Visual VM使用说明令人困惑.在Tomcat服务器上运行我的应用程序,我不知道如何将它指向Visual VM.
使用说明:
如何为在Tomcat上运行的应用程序选择Visual VM Launcher?
我目前正在寻找性能。为了衡量吞吐量,并确保我们不会倒退,我使用了很棒的 JMH。
当我遇到的东西是,虽然慢,我要开始剖析,看看是怎么回事,根据这个链接江铃控股的作者写道:
虽然 JMH 分析器可以帮助分析,但我认为它们不能替代正确的分析。例如,“堆栈”分析器很适合浏览配置文件,但不适用于严肃的工作。
更长时间地运行工作负载,并将您选择的分析器附加到正在运行的 VM。
我暗中希望我可以从命令行调整 JMH 测试,然后将诸如visualvm 之类的东西附加到它上面……但到目前为止我已经能够让它工作了。我想这是个坏主意?如果我可以共享我用来分析的代码以及我用来强制执行的代码,那将是理想的。
我试图描述一个简单的算法:"插入排序".代码获取要排序的元素数,然后随机创建那些排序开始之后的元素.
我正在使用Visual VM进行性能分析.但是,当我开始分析时,我在控制台上看到以下警告消息:
objc[62944]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/bin/java (0x10004f4c0) and /Library/Java/JavaVirtualMachines/jdk1.8.0_65.jdk/Contents/Home/jre/lib/libinstrument.dylib (0x1078054e0). One of the two will be used. Which one is undefined.
Profiler Agent: Waiting for connection on port 5140 (Protocol version: 15)
Profiler Agent: Established connection with the tool
Profiler Agent: Local accelerated session
Profiler Agent Warning: JVMTI classLoadHook: class name is null.
Profiler Agent Warning: JVMTI classLoadHook: class name is null.
Profiler engine warning: class
sun.reflect.GeneratedSerializationConstructorAccessor29 that should be instrumented is not loaded by …Run Code Online (Sandbox Code Playgroud)