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

R.O*_*mar 15 java linux terminal console profiling

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

ata*_*lor 10

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

java -agentlib:hprof=file=hprof.txt,cpu=samples MyClass
Run Code Online (Sandbox Code Playgroud)

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


MRa*_*ser 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()
Run Code Online (Sandbox Code Playgroud)

  • 只是补充一下,这个输出需要`--profile <pid>`选项 (2认同)