基于动态链接库实现,可用于性能分析,锁内容.诊断memory leak问题等.
获得堆开辟信息
java -agentlib:hprof=heap=sites ToBeProfiledClass
帮助文档
java -agentlib:hprof=help
- Get sample cpu information every 20 millisec, with a stack depth of 3:
java -agentlib:hprof=cpu=samples,interval=20,depth=3 classname
- Get heap usage information based on the allocation sites:
java -agentlib:hprof=heap=sites classname
format=b 选项不可以和monitor=y,cpu=old|times共用
Use of the -Xrunhprof interface can still be used
-Xrunhprof依然可用.
java -Xrunhprof:[help]|[<option>=<value>, ...] 和 java -agentlib:hprof=[help]|[<option>=<value>, ...] 一样
Warnings
--------
- This is demonstration code for the JVMTI interface and use of BCI,
it is not an official product or formal part of the JDK.
- The -Xrunhprof interface will be removed in a future release.
- The option format=b is considered experimental, this format may change
in a future release.
默认下,堆信息输出到当前工作目录下的java.hprof.txt,在vm退出的时候生成.可以通过设定dump on exit选项为n来更改(doe=n)