问题标签 [yourkit]

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.

0 投票
2 回答
284 浏览

java - 为什么建议使用 Yourkit 8.X 仅分析 java 5 应用程序?

升级 yourkit profiler 时,我在他们的网站上注意到以下消息:

YourKit Java Profiler 8.0.30

仅使用 8.0 版来分析 Java 5 应用程序。要分析 Java 6 和 Java 7 应用程序,请使用 9.5 版。

我无法理解的是为什么他们建议使用 8.0 分析 Java 5 应用程序?这背后是否有任何理由或只是营销?

0 投票
5 回答
3475 浏览

java - 使用 YourKit 分析应用程序,仍无法识别 CPU 占用率

我有一个 Java 应用程序,大部分时间都在消耗 100% 的 CPU(如 cacti 和 top 监控所示)。我们启动了 YourKit(它确认了 CPU 资源问题),它在 15% 的时间里将 java.net.SocketInputStream.read(byte[], int, int) 识别为最大的热点。我相信他们没有准确地测量像 SocketInputStream.read 这样执行阻塞 IO 的方法的 CPU 时间。

还有 6 个其他已确定的热点,但它们占 CPU 时间总和的不到 20%。都在 5%-1% 的范围内。

所以我知道我有问题,我可以看到问题,YourKit 也可以,但我离确定实际问题还差得远。

我对使用分析器很陌生,很可能会遗漏一些东西。有任何想法吗?

编辑:肖恩对使用系统内置的工具提出了一个很好的观点。如果我使用 top 和 shift+h 查看线程,它会显示 7-15 个线程,并且 CPU 利用率会跳跃。我不相信这是导致问题的任何一个线程,而是每个线程在某个时间执行的一段代码。

0 投票
2 回答
1340 浏览

grails - 远程 Grails 应用程序上的 YourKit 配置文件

我正在尝试追踪 Grails 应用程序的内存泄漏,并且正在使用 Yourkit Profiler,但遇到了问题。

我在生产服务器上的 Tomcat6 中运行了 Grails 应用程序,并解压了 YourKit 分析器并根据文档使用运行它sudo bin/yjp.sh -attach,但出现错误:

我正在使用 YourKit v10,并且在 Ubuntu 11.04 服务器上。有任何想法吗?

0 投票
2 回答
604 浏览

java - 类似yourkit的工具?

我一直在使用yourkit,它是一个很棒的工具。我通常使用 CPU 消耗水平曲线,并针对时间进行线程钻取。

但最近我怀疑 yourkit 导致我的应用程序随机冻结 20 秒,因为没有发生过多的 IO 或 GC,并且在这样的冻结期间,机器的 CPU 利用率下降到大约 5%,所以它不忙GC。

所以我想要一个类似于yourkit的工具,试试看,看看问题是否真的是由于yourkit

下图显示了一次冻结,你可以看到中央期间的 CPU 使用率是一条直线,那是因为 yourkit 在那个期间无法进行采样,实际上在那个期间 JVM 被冻结了。

http://farm7.static.flickr.com/6157/6193700183_80297855d5_b.jpg

我检查了那个时期没有 stop-the-world GC

非常感谢杨

0 投票
1 回答
582 浏览

java - VisualVM 和 YourKit 报告同一对象的不同保留大小

我正在使用 JVisualVM 和 YourKit 分析堆内存转储(使用 jmap 创建),并注意到对于同一个对象,它们报告了两个非常不同的保留大小!有人知道可能是什么原因吗?

0 投票
0 回答
136 浏览

java - YourKit is showing me that although my code makes use of 8 fixed threads, the JVM seems to be switching which 8 threads are actually being used. Why?

I'm running YourKit over a simple program I've wrote that tries to solve the Traveling Salesman Problem by brute force, running several threads at once (in the current case, 8).

As the below picture shows, it seems that instead of having 8 fixed threads during the program's life-time, it seems to be using 8 threads for some time, then other 8 threads for some other time, and it seems to keep on switching each couple of minutes.

enter image description here

I was curious about this behavior. Has anyone any kind of extra info on why this happens?

0 投票
2 回答
235 浏览

java - 我完全从内存运行算法(无 IO),但我的 CPU 使用率低于 25%。可能的瓶颈是什么?

我一直在运行著名的旅行推销员问题的单线程暴力破解版本,YourKit 指出 CPU 最多使用 25% 的事实。

这个事实背后的原因是什么?我们被告知这类算法是高度 CPU 密集型的,但在这种情况下似乎有很多 CPU 浪费。

我的理论是瓶颈一定是RAM访问。锁定问题似乎没有问题,因为我正在运行的算法是单线程的。

我对吗?

0 投票
1 回答
233 浏览

java - 用于输出最终对象的 JVM 选项

是否有 JVM 选项(-XX或其他方式)来记录排队等待完成的对象?我正在调试一个具有过多终结器的应用程序,这会导致大量java.lang.ref.Finalizer实例(如 YourKit Java Profiler 中所见)。查看 YourKit 分析器很难查看哪个根对象的finalize方法导致所有Finalizer实例。

0 投票
3 回答
13864 浏览

java - heapdump 大小与 hprof 大小

当我的 jboss 服务器运行 xms 为 4096m 和 xmx 为 4096m 以及 permsize 为 512m 时,我最近以 hprof 格式进行了 heapdump。

生成的 hprof 文件超过 5gb。当我在 visualvm、mat 分析器或 yourkit 中加载堆转储时,我只看到大约 1gb 的总字节。我已尝试更改 yourkit 中的可达性范围,但它显示的大小不超过 1 GB。

知道文件大小与显示的堆转储大小的巨大差异会导致什么吗?

ps:我用的是jdk1.6.0_23

不幸的是,我不允许在这里提交屏幕截图。

在文件系统上,hprof 大小为 5.227.659 kb,在 yourkit 中它指出:

对象:9.738.282 / 浅层大小 740 mb / 保留大小:740 mb 其中可到达的字符串:6.652.515 (68%) / 浅层大小:381 mb (51%) / 保留大小:381 MB (51%)

最大保留大小是 206.810.176 的 byte[]

0 投票
0 回答
346 浏览

java - Java 内存泄漏:WDialogPeer 是唯一的强引用 - 为什么它不 GC?

我正在对遗留 Java 产品进行一些分析,并使用 YourKit 查找内存泄漏。我插了很多 - 但我一直遇到一个我无法解决的问题。

我有很多窗口/对话框,当我关闭它们时(并在它们从 JDialog 派生的情况下调用 dispose)它们只是没有被 GC 处理。YourKit 报告说 GC 的唯一根是"target of sun.awt.windows.WDialogPeer [JNI Global]"。还有一些弱引用似乎主要来自 MetalToolBarUI。大概这些只是因为来自 WDialogPeer 的这一强有力的参考而存在。

有没有人见过这个 - 或者任何人都可以告诉我WDialogPeer如何和或/为什么坚持我的JDialogs / JFrames?我怎样才能清理它?