RFR: 8252842: Extend jmap to support parallel heap dump [v20]

Lin Zang lzang at openjdk.java.net
Wed Apr 21 02:28:13 UTC 2021


On Wed, 14 Apr 2021 12:35:27 GMT, Lin Zang <lzang at openjdk.org> wrote:

>> 8252842: Extend jmap to support parallel heap dump
>
> Lin Zang has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 25 commits:
> 
>  - Merge branch 'master' into par-dump
>  - Merge branch 'master' into par-dump
>  - Typo fix
>  - remove parallel option and dumpheapext command
>  - Revert "hide the dumpheapext error message"
>    
>    This reverts commit 1af0e1e2bfab4f5d079c03ff0cb25067acacdac4.
>  - resize large object threshold
>  - Merge branch 'master' into par-dump
>  - Merge branch 'master' into par-dump
>  - code clean
>  - fix trailing white space issue
>  - ... and 15 more: https://git.openjdk.java.net/jdk/compare/e2106d5a...997784b1

Dear Chris,
Thanks a lot for your help,  I have created a new PR for the `jmap -histo:parallel=n` help message at https://github.com/openjdk/jdk/pull/3598. 

And I will revert it in this PR and also revise the patch based on your latest comments. 

The tests I have conducted are quite similar with what Ralf have done and suggested:

> 
> ```
> jmap.exe -dump:file=ser.hprof,all 30600 
> Dumping heap to ser.hprof ...
> Heap dump file created [32009882362 bytes in 59.303 secs]
> 
> jmap.exe -dump:file=par1.hprof,parallel=1,all 30600
> Dumping heap to par1.hprof ...
> Heap dump file created [32009885809 bytes in 72.719 secs]
> 
> jmap.exe -dump:file=par2.hprof,parallel=2,all 30600
> Dumping heap to par2.hprof ...
> Heap dump file created [32009881876 bytes in 57.546 secs]
> 
> jmap.exe -dump:file=par4.hprof,parallel=4,all 30600
> Dumping heap to par4.hprof ...
> Heap dump file created [32009882956 bytes in 44.301 secs]
> 
> jmap.exe -dump:file=par5.hprof,parallel=5,all 30600
> Dumping heap to par5.hprof ...
> Heap dump file created [32009882164 bytes in 40.282 secs]
> 
> jmap.exe -dump:file=par6.hprof,parallel=6,all 30600
> Dumping heap to par6.hprof ...
> Heap dump file created [32009881156 bytes in 45.988 secs]
> ```
> 
> And here for the compressed case:
> 
> ```
> jmap.exe -dump:file=par1.hprof.gz,parallel=1,all,gz=1 52372
> Dumping heap to par1.hprof.gz ...
> Heap dump file created [8076994216 bytes in 54.057 secs]
> 
> jmap.exe -dump:file=par2.hprof.gz,parallel=2,all,gz=1 52372
> Dumping heap to par2.hprof.gz ...
> Heap dump file created [8075859421 bytes in 43.442 secs]
> 
> jmap.exe -dump:file=par4.hprof.gz,parallel=4,all,gz=1 52372
> Dumping heap to par4.hprof.gz ...
> Heap dump file created [8075886152 bytes in 28.710 secs]
> 
> jmap.exe -dump:file=par6.hprof.gz,parallel=6,all,gz=1 52372
> Dumping heap to par6.hprof.gz ...
> Heap dump file created [8075758374 bytes in 25.730 secs]
> 
> jmap.exe -dump:file=par8.hprof.gz,parallel=8,all,gz=1 52372
> Dumping heap to par8.hprof.gz ...
> Heap dump file created [8075652558 bytes in 26.039 secs]
> 
> jmap.exe -dump:file=par16.hprof.gz,parallel=16,all,gz=1 52372
> Dumping heap to par16.hprof.gz ...
> Heap dump file created [8075644423 bytes in 31.977 secs]
> 
> jmap.exe -dump:file=par24.hprof.gz,parallel=24,all,gz=1 52372
> Dumping heap to par24.hprof.gz ...
> Heap dump file created [8075579546 bytes in 41.094 secs]
> ```

And I will conduct it again since now there is no `parallel=` option.

BRs,
Lin

-------------

PR: https://git.openjdk.java.net/jdk/pull/2261


More information about the serviceability-dev mailing list