设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客

OpenJDK 9:将会移除HPROF和jhat

2015-12-21 22:10| 发布者: joejoe0332| 查看: 1698| 评论: 0|原作者: infoq.com|来自: infoq.com

摘要: OpenJDK正在从JDK中废弃HPROF agent 并移除“jhat”工具。这是OpenJDK 9的Java SE平台借助Jigsaw实现模块化的结果,为了准备模块化,起草了多项提议(JEP),并且其中有很多都已经接近完成了。 ...

  OpenJDK正在从JDK中废弃HPROF agent 并移除“jhat”工具。这是OpenJDK 9的Java SE平台借助Jigsaw实现模块化的结果,为了准备模块化,起草了多项提议(JEP),并且其中有很多都已经接近完成了。


  让我们近距离地了解一下这两个与模块化JDK相关的JEP,它们的目标就在于移除HPROF agent和“jhat”工具:


移除JVM Tool Interface HPROF Agent


  HPROF是一个profiler agent,它使用JVM Tool Interface(JVMTI)来提供工具接口,并且用到了Bytecode Instrumentation。HPROF agent能够将profiling信息写到文件中,这些信息包括基于allocation sites的堆使用情况、堆dump、CPU使用情况、争用监控等,它还可以将这些信息通过socket进行发送。HPROF无意成为生产型的工具,它能够被下文所述的各种其他可选方案所替代:


  HPROF能够获取heap allocation profile、CPU使用的采样数据以及times profile,按照其最简单的形式分别如下面的命令所示:

1
2
3
4
5
java -agentlib:hprof=heap=sites <classname>
 
java -agentlib:hprof=cpu=samples <classname>
 
java -agentlib:hprof=cpu=times <classname>


  相应的功能可以通过Java性能监控工具VisualVM来实现,这是一个可视化的工具,集成了多个命令行JDK工具和轻量级profiling功能。与HPROF不同,VisualVM能够用在生产以及开发环境中,并且提供了额外的特性,如生成线程(和堆)dump、查看heap dump、本地和远程的Java应用监控以及离线性能分析等等。


  HPROF也能通过如下的命令生成heap dump:

1
java -agentlib:hprof=heap=dump <classname>


  按照JEP 240,这个功能将会被JVM中相同的功能所取代,这是通过使用像“jcmd”和“jmap”这样的命令行工具做到的,如下所示:

1
jcmd GC.heap_dump filename=<filename>


  或者

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
jmap [option] <pid>
 
where <option>:
 
-dump:<dump-options> to dump java heap in hprof binary format
 
            dump-options:
 
             live         dump only live objects; if not specified,
 
                          all objects in the heap are dumped.
 
             format=b     binary format
 
             file=<file>  dump heap to <file>
 
Example: jmap -dump:live,format=b,file=heap.bin <pid>


  按照“jcmd”工具的文档,如果要创建堆(hprof)dump的话,“jcmd”是推荐使用的工具。


移除“jhat”工具


  “jhat”是一个堆分析工具,它会解析Java heap dump并且能够在Web浏览器中查看解析过的heap dump。借助“jhat”,用户可以执行一些标准的查询或使用 OQL接口编写自定义的查询。


  按照JEP 241, jhat是一个实验性的、不再支持的过时工具。尽管JEP并没有指定特定的替代工具,但是InfoQ还是再次为用户推荐 Java VisualVM ,用它来实现heap dump的创建、可视化和分析。VisualVM还允许用户执行自定义的查询或使用标准的查询。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部