问题标签 [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 投票
1 回答
223 浏览

java - 如何使用 YourKit 分析 Domino 代理 (AMgr)?

由于我在使用大型 Domino 代理时遇到问题,因此我希望能够对其进行分析。我听说过很多关于 Yourkit 的好消息,并按照 David Leedy 视频中的说明进行操作:

http://notesin9.com/index.php/2012/11/29/notesin9-091-xpages-memory-profiling-part-1/

我创建了一个文本文件 YourKitOptionsFile.txt ,其中包含以下行:

并将这一行添加到我的 notes.ini 中:

服务器是 Domino 9.0.1,YourKit 版本是 2013 build 13082。操作系统是 Windows 8.1(买不起服务器许可证)。

我找到的所有文档都使我们能够连接到由 nhttp.exe 运行的 JVM,但我对带有 Amgr.exe 的 JVM 很感兴趣。

这是可能吗?

0 投票
1 回答
1184 浏览

java - YourKit - 对象的保留大小不等于它引用的所有对象的保留大小

对象的保留大小不等于它引用的所有对象的保留大小。

这是正在发生的事情:

  1. 使用 YourKit 捕获内存快照。
  2. 单击对象并按类类型显示实例
  3. 假设实例的保留内存是 A 字节(600mb)
  4. 扩展并汇总基础实例的保留大小假设总和为 B (300mb)

A >> B

0 投票
3 回答
1329 浏览

playframework - 带有 playframework 2.2.3 的 Yourkit 分析器

我被要求调查 Playframework 2.2.3 应用程序的一些性能问题。我以前有玩框架 1 的经验,但我意识到 2.x 非常不同。

有没有人设法将 Yourkit profiler 与 play 2 一起使用?我设法通过在框架/构建脚本中的 java 命令中添加一个选项来附加代理。这只会将代理附加到 sbt 启动器,因此一旦启动真正的应用程序,代理就会死亡。

有人对此有解决方案吗?也许我需要使用'play dist'

乔恩

0 投票
1 回答
679 浏览

java - Playframework 线程池

我正在使用 YourKit 分析 playframework 2.2.3 应用程序,以尝试解决一些性能问题。这不是我的应用程序,我不熟悉 play 2。该应用程序是一个使用网络套接字的多人社交游戏。它在 Amazon EC2 m3.large 上运行

我在分析器中看到的是游戏逻辑(由 Web 套接字调用开始)在 play-internal-execution-context 中的 2 个线程中的 1 个中执行。一些例程涉及 I/O,并且由于部分方法同步而发生了一些阻塞。有一个名为 play-internal-execution-context 的线程池,但任何时候只有两个线程在使用。活动不时移动到新线程,我现在可以看到正在使用的线程名称是 play-internal-execution-context-600 和 601。

我可以在播放文档中看到

Play 内部线程池 - 这是 Play 在内部使用的。此线程池中的线程不应执行任何应用程序代码,并且不应在此线程池中执行任何阻塞。它的大小可以通过在 application.conf 中设置 internal-threadpool-size 来配置,默认为可用处理器的数量。

正如我所看到的涉及应用程序代码的线程中的堆栈跟踪,这可能是开发人员的设计不正确,或者,这仅仅是因为框架的异步性质,代码实际上只是通过在这些内部线程中执行?

一切顺利

乔恩

0 投票
0 回答
877 浏览

java - JRE 中的异常访问冲突

在运行不使用 JNI 的简单 Java 应用程序时,有时会出现以下异常。我使用了不同的版本,如 1.6、1.7.0_47 和 1.7.0_67 来检查它们是否可以正常工作。但它不起作用。一旦我开始使用 YourKit 和 Java 任务控制分析器,我就会遇到这个问题。

0 投票
2 回答
97 浏览

ubuntu-12.04 - 无法在 ubuntu 12.04 上打开 yourkit 分析器

我正在尝试在 ubuntu 桌面上运行 YourKit 一个 java 分析器,该过程启动但不显示 UI。我搜索了这个问题,发现这篇文章建议了解决这个问题的步骤,我尝试了那里的所有建议,但它似乎不适用于我的系统。如果有人有洞察力/专业知识,请分享。

0 投票
1 回答
588 浏览

ruby-on-rails - 使用 YourKit 在 Jruby/Rails/Tomcat 应用程序上搜索内存泄漏

我不幸得到了一项寻找未经证实的内存泄漏的任务。这是我第一次使用 YourKit,所以虽然我知道我应该寻找什么,但我不知道在哪里寻找以及如何寻找。

我的理解是,随着时间的推移,内存消耗会增加,因为某些对象没有被释放。在 Rails 中很难做到这一点,但我想有人知道怎么做。

以下是内存遥测的样子:

什么趋势!

忽略 GC 之间的事实周期随着时间的推移而增加,看起来 Old Gen 内存正在上升......也许。

现在我们可能需要知道那里堆积了哪些物体以及产生它们的原因。

到目前为止我采取的步骤:

  1. 触发CG
  2. 开始“对象分配记录”(每 100 个......我觉得它可能对某些东西有用)
  3. 等了一会儿
  4. 触发了另一个CG
  5. 做了内存转储

在 YourKit 中打开内存快照后,我不知道我应该寻找什么。

这很糟糕,对吧?

分配中有调用树。展开树给了我一些正在运行的 Rails 代码的提示,但我不知道我所看到的是否真的是我需要的。

wtf我在看

任何 Java 分析,Yourkit 挥舞,能指出我正确方向的人吗?

编辑:我可以在合并路径视图中看到的示例:

在此处输入图像描述

0 投票
1 回答
347 浏览

java - Java 导入、程序集 (Krakatau) 和源代码

所以这是我的情况:

我正在运行一个 CPU 使用率很高的 Java 客户端/服务器架构,并且我正在尝试减少主“服务器”线程上的延迟时间。我一直在使用 YourKit 分析服务器以识别占用 CPU 的代码。

问题是:

我正在使用别人的代码,由于它的编写方式,不可能反编译,然后在不使用我无法访问的特殊混淆器的情况下重新编译(不,我没有侵犯任何版权或任何东西)。

我目前在做什么:

为了在不担心混淆的情况下修改类文件,我一直在使用 Storyyeller 惊人的 Krakatau 反编译器 ( https://github.com/Storyyeller/Krakatau ) 将类文件反汇编成汇编文件。

我在查看 Jasmin 参考页面时手动编辑 .j 程序集文件(这需要 FOREVER 并且我经常搞砸),然后将它们重新组合成类文件并再次运行它们。

我想做的事:

我想知道,有没有人知道将 .java 源代码转换为 .j 程序集代码的方法,而不是煞费苦心地编辑程序集?

另外,如果我只是反编译 .class 文件,即使导入的包不存在,我是否可以简单地重新编译它们?

如果有人知道我可以做到这一点,我将不胜感激!

0 投票
1 回答
467 浏览

java - YourKit 分析和行号

我正在使用 YourKit Java 分析器来查找一些 Java 代码中的 CPU 占用点。我没有 Java 类的原始源代码,所以我一直在反编译它以查看需要修复的内容。

反编译代码上的行号(使用 JD-GUI,我还没有用其他任何东西测试过)与 YourKit profiler CPU 采样窗口中显示的行号不一致。

是否有可用的反编译器将原始源文件行号与反编译代码匹配?

正如您在下面看到的,EnergyNetwork.getAcceptors() 的输出行号是第 86 行。然而,在 JD-GUI 中,它显示第 86 行是一个列表。

YourKit 输出 反编译器输出

0 投票
0 回答
153 浏览

gatling - 如何解释 yourkit 和 gatling 之间的 req/s 差异

我使用 gatling 进行一些性能测试。

在 gatling 报告中,我看到平均 req/s : 80 但在 yourkit 性能图表上,我看到 JSP/Servlet 请求计数 300 req/s

为什么两个数字之间会有这么大的差距?