jjzjj

jVisualVM

全部标签

java - 如何用jvisualvm监控Tomcat,显示visualgc?

我仔细检查了以下内容:我在运行Tomcat的同一个机器上运行jvisualvm。这是Java6u19。我的Tomcat服务以与我登录时相同的用户身份运行。我的Tomcat服务使用的JVM目录与我从中使用的jvisualvm完全相同。Tomcat在特定端口上启用了JMX,但我认为这对我没有帮助。通过所有这些,我确实在jvisualvm的“本地”列表中看到了我的Tomcat进程。它显示为“(pid5644)”。如果我双击它,那么每个选项卡都会显示“此JVM不支持”。但是,VisualVM显示在“本地”中,并且所有选项卡都适用于它,显然使用相同的JVM实例。没有明显的方法可以将JMX连接添加

Java VisualVM 内存采样器 - 如何获取特定类的大小

我的应用程序使用的内存比我想象的要多得多,我试图了解哪个类正在使用大量内存并且可能没有释放它。我正在使用VisualVM,在内存采样器中,我可以看到大部分内存都花在了字符、字符串和字节上,我所有的类都使用了字符串,但正如您所知,VisualVM显示了系统中的所有字符和字符串(所有Chars都与Strings相同,这使得很难理解谁拥有它们),据我了解,保存这些字符串的其他类的大小是在没有字符串的情况下计算的。我如何在这个工具中看到谁是“真正的”最大的类——包含所有这些字符串的类?(最好是我可以从这些类获取它们的字符串,而不是相反)我尝试在heapDump中使用“roottothenear

java - JVisualVM 无​​法使用 --openpid 参数连接到进程

我有一个作为win服务运行的应用程序(使用Apache-Procrun)。我想用JVisualVM监视那个应用程序。我使用了命令行参数--openpid没有成功,具有讽刺意味的是,旧的JConsole设法连接到该应用程序。我还检查了%TMP%\hsperfdata_username的所有问题-JVisualVM中描述的目录-TroubleShootingGuide.一切顺利。如何让JVisualVM监控我的应用程序? 最佳答案 JVisualVM无​​法使用--openpid连接到win服务争论!由于Bug,旧的JConsole只能

java - jmap/jhat 与 jVisualVM

我知道jmap是用来创建堆转储的,同样可以用Jhat来分析。jVisualVM也可用于分析堆转储(并且可以执行更多任务,例如分析等)。但是使用jHat和visualVM分析堆转储之间有什么区别(如果使用Web则除外,其次是桌面)。Sun提供了哪些不同的工具,哪一个更好?PS:我对这些工具的了解有限,因为我使用的分析/分析工具有限,例如JProbe、Java堆转储分析器等。如果我的理解有误,请指正。 最佳答案 jmap和jhat是具有命令行界面的核心工具。VisualVM是一个可视化工作台,集成了命令行工具,无需通过命令行选项即可更轻

java - 用于 cpu 分析的过滤类在 Java VisualVM 中是否有效?

我想过滤JavaVisualVm(版本1.7.0b110325)中哪些类正在被cpu分析。为此,我尝试在Profiler->Settings->CPU-Settings下为我的测试包设置“Profileonlyclasses”,但没有效果。然后我试图通过将它们设置为“不分析类”来摆脱所有java.*和sun.*类,这也没有任何效果。这只是一个错误吗?或者我错过了什么?有解决方法吗?我的意思是除了:为更好的分析器买单手工取样(参见Onecoulduseaprofiler,butwhynotjusthalttheprogram?)切换到CallTreeView,这不太好,因为只有Profi

java - 如何使用 VisualVM 和 JMX?

我已经尝试了书中的所有食谱,但今天一切都行不通......我正在尝试使用VisualVM来分析我在远程服务器上运行的Java应用程序,所以我用谷歌搜索了一遍又一遍,寻找执行此操作的方法,最终得到了这个解决方案:java-Dcom.sun.management.jmxremote\-Dcom.sun.management.jmxremote.port=9199\-Dcom.sun.management.jmxremote.local.only=false\-Dcom.sun.management.jmxremote.authenticate=false\-Dcom.sun.managem

java - visualvm历史图

是否可以在visualvm中设置内存、进程/gcActivity等图形在不降低x比例的情况下随时间移动?当应用程序启动时,图形看起来不错,但过了一段时间后,它们沿着x轴被严格压缩,并且要查看应用程序中实际发生的情况变得很麻烦。 最佳答案 你可以做几件事:转到tools>options并将“受监控的主机”和/或“受监控的数据”更改为小于默认60分钟的值。60分钟表示图形将记住最近60分钟的数据。您可以关闭其他选项卡(“堆”、“类”、“线程”)以使图表变大。您可以使用TracerFramework显示您的数据。Tracer框架允许您放大

java - jvisualvm 的代理配置问题

我已经尝试在我的JDK(1.6.0_15-b03)中使用jvisualvm.exe重新加载插件目录,方法是工具>插件>更新>重新加载目录但是;无论我尝试什么代理配置(我也尝试在另一个JVM1.6update23上测试它)似乎都不起作用。无论我的代理设置如何,我都会收到以下错误。UnabletoconnecttotheJavaVisualVMPluginsCenterbecauseofsun.security.validator.ValidatorException:PKIXpathbuildingfailed:sun.security.provider.certpath.SunCert

java - VisualVM 连接到本地 TomEE 非常慢,无法进行堆转储

我在MACOSXmountainlion上遇到了TomEE1.5.1和VisualVM1.7.0_09的一个非常奇怪的问题。在TomEE加载一些webapp后。使用VisualVM连接本地TomEE进程需要很长时间,并且在连接后gc按钮被禁用,我无法进行堆转储。VisualVM的日志显示一些错误。com.sun.tools.attach.AttachNotSupportedException:Unabletoopensocketfile:targetprocessnotrespondingorHotSpotVMnotloadedatsun.tools.attach.BsdVirtual

java - 用于 Linux 控制台的 JVisualVM?

我需要能够在没有任何XWindows运行的Linux机器上运行的VM上进行一些内存采样。我试图远程执行此操作,但显然JVisualVM不支持远程内存采样。我有什么选择?谢谢! 最佳答案 您可以使用jmap获取内存样本(也称为堆转储)。下面的命令创建一个文件heap.hprof在当前目录下。jmap-dump:format=b,file=heap.hprof获得样本后,您可以将其转移到另一台机器上,使用您喜欢的任何工具进行分析。我推荐MemoryAnalyzer. 关于java-用于Lin