我正在尝试使用 VisualVM 分析 Nutch。Lucene 是 Nutch 核心的一部分,负责生成 url 索引并根据某些查询搜索这些索引。我正在通过 Apache Tomcat 运行 Nutch,我想确定 Nutch 在各种函数调用(包括 Lucene 调用)上花费了多少时间,但是当我尝试使用 VisualVM 进行分析时,我得到了一堆关于 Tomcat 而不是 Nutch 或 Lucene 的分析数据. 我在这里做错了什么?
1 回答
0
我在尝试在 Tomcat 调用中定位 Lucene 时间时也有同样的经历。你要做的是:
- 使用 VisualVM 1.2.2。
- 选择相关流程,然后按“配置文件”。
- 选中“设置”复选框。这应该会打开一个“CPU 设置”选项卡,其中包含您可以填写的字段。
- 在“Start profiling From classes:”下,在你的代码中写一个入口点(例如 com.my.company.NutchUser)
- 取消选中“Profile new runnables”。
- 选择“仅配置文件类:”并在其下写入:org.apache.lucene.* org.apache.nutch.*
- 按下“配置 CPU”按钮。我相信如果你做了所有这些,然后运行你的过程并偶尔拍摄快照,你会没事的。
或者,这家伙建议进行堆栈采样而不是分析。我从来没有做过,但听起来很有趣。
于 2010-11-15T12:00:50.843 回答