是否有适用于Java的控制台分析器?

时间:2012-06-20 16:13:21

标签: java linux terminal console profiling

是否有类似gprof的Java分析器可以从Linux终端运行? 我找到的所有工具都是GUI程序,我需要从终端运行它。

5 个答案:

答案 0 :(得分:9)

JVM有一个名为HPROF的内置探查器。您可以在命令行上启用它,如下所示:

java -agentlib:hprof=file=hprof.txt,cpu=samples MyClass

这将在程序完成时将配置文件信息转储到文本文件中。除了分析CPU使用情况外,它还可以跟踪堆使用情况。

答案 1 :(得分:8)

开源工具jvmtop包含终端探查器,可能值得一看:

JvmTop 0.7.0 alpha - 15:16:34,  amd64,  8 cpus, Linux 2.6.32-27, load avg 0.41
 http://code.google.com/p/jvmtop

 Profiling PID 24015: org.apache.catalina.startup.Bootstrap

  36.16% (    57.57s) hudson.model.AbstractBuild.calcChangeSet()
  30.36% (    48.33s) hudson.scm.SubversionChangeLogParser.parse()
   7.14% (    11.37s) org.kohsuke.stapler.jelly.JellyClassTearOff.parseScript()
   6.25% (     9.95s) net.sf.json.JSONObject.write()
   3.13% (     4.98s) ....kohsuke.stapler.jelly.CustomTagLibrary.loadJellyScri()

答案 2 :(得分:3)

JXInsight / OpenCore具有术语/ shell报告插件(顶部,队列,堆栈......),它们将定期输出计量和指标数据。也可以使用Open API访问此信息,该API允许在JVM内实时检查模型或使用快照文件句柄进行脱机。两者都是通过插件API支持的,顶级,队列,......的工作方式如何。

http://www.jinspired.com/products/opencore(商业)

是否存在无法使用GUI的技术原因?它只是由工作流习惯驱动的偏好吗?如果没有,那么您可以随时试用我们的免费JXInsight / Opus Java版 - 一种高效且可扩展的代码级延迟性能测量解决方案,用于快速识别Java和JRuby应用程序中的热点。

http://www.jinspired.com/products/opus

注意:我是这两种产品的产品架构师。

答案 3 :(得分:2)

答案 4 :(得分:0)

如果您想进行分析和监控。您可以使用Jvisualvm

来自App网站的

<强>描述 Java VisualVM是一个直观的图形用户界面,可在给定的Java虚拟机(JVM *)上运行时提供有关基于Java技术的应用程序(Java应用程序)的详细信息。 Java VisualVM这个名称源于Java VisualVM在视觉上提供有关JVM软件的信息。

Java VisualVM将多个监视,故障排除和分析实用程序组合到一个工具中。例如,独立工具jmap,jinfo,jstat和jstack提供的大多数功能都已集成到Java VisualVM中。其他功能,例如JConsole工具提供的一些功能,可以作为可选插件添加。

修改 如您所希望的终端方法。请参阅此链接Triggering a Javadump。 它描述了java dump的创建。