RFR: 8252842: Extend jmap to support parallel heap dump

Chris Plummer cjplummer at openjdk.java.net
Wed Feb 3 22:04:50 UTC 2021


On Wed, 3 Feb 2021 21:52:00 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:

>> Dear All,
>> I have updated the patch and remove the introduction of new "parallel" option. So there can be no backward-compatibility issue for jmap -dump command.  May I ask your help to remove the CSR label if agreed? 
>> 
>> BRs,
>> Lin
>
> Hi Lin, When I suggested that it would ok just to just always use the default number of parallel threads, I wasn't considering that we also have `jmap -histo`, which also supports parallel threads, but includes an argument to specify it. For example, `jmap -histo:parallel=<n>`. Now this PR adds parallel support to `jmap -dump`, but you are suggesting not to have a parallel option to specify it, and use a default number of threads, which would be the same as what you would get with `jmap -histo:parallel=0`.  So this is inconsistent. If `-histo` is going to allow you to control the number of parallel threads, then `-dump` should also. I guess an option would be to not allow `-histo` to control the number of threads, and have it work just like you are proposing for `-dump`.

Here's another thought. What if we added a new Attach API command called something like `setparallel`. Then when you specify `parallel=<n>` for  `jmap -histo` or `jmap -dump`, first JMap would send the `setparallel` command, and then it would send the `dumpheap` or `inspectheap` commands, and they would use the parallel setting from the previous `setparallel` command. I assume of `setparallel` is sent to an older JDK, I think you just get an error message back that can be ignored.

Anyway, just throwing this idea out there. I'm not so sure I like it myself, but given we don't have a good solution yet, it may be as good as any of the others.

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

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


More information about the hotspot-runtime-dev mailing list