是否有适用于 Java 的控制台探查器?

2022-09-03 05:57:52

有没有一个类似gprof的Java探查器可以从Linux中的终端运行?我找到的所有工具都是GUI程序,我需要从终端运行它。


答案 1

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

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

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


答案 2

开源工具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()

推荐