1

我正在尝试使用 VisualVM 分析 Nutch。Lucene 是 Nutch 核心的一部分,负责生成 url 索引并根据某些查询搜索这些索引。我正在通过 Apache Tomcat 运行 Nutch,我想确定 Nutch 在各种函数调用(包括 Lucene 调用)上花费了多少时间,但是当我尝试使用 VisualVM 进行分析时,我得到了一堆关于 Tomcat 而不是 Nutch 或 Lucene 的分析数据. 我在这里做错了什么?

4

1 回答 1

0

我在尝试在 Tomcat 调用中定位 Lucene 时间时也有同样的经历。你要做的是:

  1. 使用 VisualVM 1.2.2。
  2. 选择相关流程,然后按“配置文件”。
  3. 选中“设置”复选框。这应该会打开一个“CPU 设置”选项卡,其中包含您可以填写的字段。
  4. 在“Start profiling From classes:”下,在你的代码中写一个入口点(例如 com.my.company.NutchUser)
  5. 取消选中“Profile new runnables”。
  6. 选择“仅配置文件类:”并在其下写入:org.apache.lucene.* org.apache.nutch.*
  7. 按下“配置 CPU”按钮。我相信如果你做了所有这些,然后运行你的过程并偶尔拍摄快照,你会没事的。

或者,这家伙建议进行堆栈采样而不是分析。我从来没有做过,但听起来很有趣。

于 2010-11-15T12:00:50.843 回答