问题标签 [jvisualvm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何自动将 JVisualVM 附加到短期程序?
简要阅读教程并使用 JVisualVM,我可以手动将它附加到长时间运行的服务器或 Swing 应用程序,但我也想将它用于运行在一秒钟内的短程序。
我想我可以将我的程序块放在控制台上,附加 JVisualVM,然后按一个键让程序完成它的实际工作。是否有不那么笨拙的解决方法?
(这主要是出于我自己的好奇心,最好使用 JVisualVM 之类的精美 GUI 而不是 -Xprof 或 HPROF)。
java - JVisualVM“堆转储”按钮可以释放内存吗?
我有一个非常奇怪的问题。我正在开发一个基于 Eclipse Equinox 的 OSGi 应用程序;它是使用 OSGi 日志服务(Equinox 实现)开发的,现在我正在使用 Apache Felix OSGi 日志服务实现对其进行测试。
在 API/代码方面,一切正常:OSGi 日志服务是标准的,所以我可以毫无问题地从 Equinox 切换到 Felix。
但是,我观察到这种奇怪的行为:我将应用程序作为控制台程序启动,以查看控制台上的日志输出,并将其附加到 JVisualVM 以分析内存使用情况;JVisualVM 图显示了一个 80 MB 的已用堆。
13 小时后,平均堆大小达到 220 MB,所以我决定分析堆转储,并按下“堆转储”按钮:在此操作后,JVisualVM 图显示已用堆为 20(min)-35 (max)MBs (?!?!),并且这个值是恒定的。
“堆转储”操作可以释放近 200 mbs 吗?如果是,为什么?
我从未在 Equinox OSGi 日志服务实现中看到这种行为,所以我怀疑 Felix 日志涉及到这个问题......
谢谢
java - Java Visual VM 倾斜 CPU
我正在尝试分析在 Windows 上运行的 Java UI 应用程序的 CPU 使用率。我将它连接到 VisualVM,但看起来 CPU 使用率的最高百分比正在被
我相信这被用来向 VisualVM 提供信息,因此 VisualVM 正在扭曲我试图调查的结果。有没有人有办法更好地指示正在发生的事情,或者有更好的方法来确定正在运行的 java 应用程序中的什么占用了这么多 CPU。
java - 是否可以在 jvisualvm 中同时进行 CPU 和内存分析?
我有一个应用程序运行相当长的分析(大量的数字运算),因此运行一次应用程序大约需要 3-4 小时,充分利用所有核心。现在我很确定我的代码不是防水的,所以我想分析并寻找潜在的弱点。
我已经阅读了很多关于 jvisualvm 的文章,并且也玩过它。然而,它似乎选择了 cpu 或内存分析,而Javalobby 的这篇文章有一个有趣的引述,作者说:
我意识到 CPU 和内存分析可以同时完成,但出于本文的目的,我想将它们分开。
谁能否认或证实这一点?如果这是可能的,那将非常有用,所以我不会一遍又一遍地以不同的模式进行分析。如果不可能,是否可以排队进行不同的分析分析,以便我可以在一夜之间运行它们?
谢谢,
performance - 如何使用 jmeter 和 visualVM 进行负载测试?
我想为我的网站为 1000 万用户进行负载测试。该站点是一个基于 Java 的网络应用程序。我的方法是为所有链接创建一个 Jmeter 测试计划,然后为 1000 万用户生成报告。然后使用 jvisualVM 进行 profiling 并检查是否有任何瓶颈。
有没有更好的方法来做到这一点?是否有任何现有的演示可以做到这一点?我是第一次这样做,所以任何帮助都会非常有帮助。
java - 显示每个可用 JVM 的主类名称,如 VisualVM
VisualVM 做得非常好,每个完整的主类名称都显示在左侧边栏导航中。如何检索这些名称?Attach API 为所有正在运行的 JVM 提供了一个显示名称,但是,一些显示名称似乎有点臃肿,例如 Eclipse:
VisualVM 通过以下方式缩短它:org.eclipse.equinox.launcher.Main
他们如何找回它?从当前的 JVM 中很容易获得所有线程的主类。
java - Why can't I attach jvisualvm to an instance of tomcat started from inside osx?
I'm starting tomcat from inside netbeans. I'd like to monitor the heap usage on that instance of tomcat so I fire up jVisualVM. However the process isn't listed. Any ideas?
java - jvisualvm 不适用于 Eclipse
谁知道 jvisualvm 是什么,我下载了一个 eclipse 的插件来使用 jvisualvm 启动应用程序。但与官方网站所说的不同,当我运行任何 java 应用程序时,程序不会出现在左侧。只有一个全局选项卡。
有什么线索吗?
monitoring - 如何让 jVisualVM 显示更长的时间范围?
我正在尝试使用 jVisualVM 来监控我正在开发的一些应用程序的长期堆使用情况。目前它只在“监视器”选项卡下显示过去一小时。有什么方法可以查看更长的时间范围,甚至更好的是,我可以从头到尾查看它吗?
如果这不能在 jVisualVM 中完成,是否有替代方案的建议?
java - How do I monitor Tomcat6 with JVisualvm in Ubuntu Linux?
I'm trying to set up JVisualVm to monitor a Tomcat 6 instance (running on Ubuntu Server 10.04 LTS). I've seen other questions, but none of them directly answer my problem. I try to connect to Tomcat with JVisualvm and it comes back with a "Cannot connect" error - but there are TCP connections being made to the server; the server drops the connection after a short burst of traffic.
I have already added this to /etc/default/tomcat6 and restarted tomcat6
#xA;I started rmiregistry using default settings:
#xA;I haven't started jstatd
; installing it on the server requires the full JDK which requires X libraries. I'm not about to install X just to get one single binary.
I wonder if not running jstatd
would have something to do with it; I was of the impression that I needed neither RMI nor jstatd, as long as I could use JMX directly via the JMX port.
There is no firewall in between the server and the JVisualvm client, and the iptables host firewall is open. Using jconsole
results in the same error.
Running JVisualVM against the local Ubuntu 10.04 machine (by using its IP address and JMX port) and adding a JMX instance works fine - and I'm running neither rmiregistry
nor jstatd
- though the monitor shows RMI threads running.
Question: What must I do (either on the server or the client) in order to be able to monitor Tomcat (and other Java programs) via JMX with JVisualVM?
Thanks in advance.