On Fri, 19 Feb 2021 14:36:00 GMT, Lin Zang <lz...@openjdk.org> wrote:
>> 8252842: Extend jmap to support parallel heap dump > > Lin Zang has updated the pull request incrementally with one additional > commit since the last revision: > > fix build fail issue on windows Hi, I've benchmarked the code on my machine (128GB memory, 56 logical CPUs) with an example creating a 32 GB heap dump. I only saw a 10 percent reduction in time, both using uncompressed and compressed dumps. Have you seen better numbers in your benchmarks? And it seems to potentially use a lot more temporary memory. In my example I had a 4 GB array in the heap and the new code allocated 4 GB of additional memory to write this array. This could happen in more threads in parallel, increasing the memory consumption even more. If the above problems could be fixed, I would suggest to just use the parallel code in all cases. src/hotspot/share/services/heapDumper.cpp line 383: > 381: }; > 382: > 383: // Supports I/O ooperations for a dump ooperations->operations src/hotspot/share/services/heapDumper.cpp line 650: > 648: void enqueue(ParWriterBufferQueueElem* entry) { > 649: if (_head == NULL) { > 650: assert(is_empty() && _tail == NULL, "Sanity check"); When I have run the code with assertions enabled, this one failed since _tail was not NULL. ------------- PR: https://git.openjdk.java.net/jdk/pull/2261