On Thu, 18 Mar 2021 12:09:25 GMT, Ralf Schmelter <[email protected]> wrote:
>> Lin Zang has updated the pull request incrementally with one additional
>> commit since the last revision:
>>
>> reduce memory consumption and fix memory leak issue
>
> src/hotspot/share/services/heapDumper.cpp line 1741:
>
>> 1739: uint length() { return _length; }
>> 1740:
>> 1741: static const size_t LargeObjectSizeThreshold = 128 * (1 << 20); //
>> 128 MB
>
> I think this threshold is much too large. I've instrumented the code to track
> the maximum memory use of the buffers and tested the max memory use and the
> performance for 2, 4 and 8 parallel iteration threads and for a threshold of
> 128 MB and 1 MB (using my scenario with a 32 GB heap):
>
> 128 MB threshold:
> 2 threads -> 57 MB max memory, 64.6 seconds duration
> 4 threads -> 88 MB max memory, 40.5 seconds duration
> 8 threads -> 170 MB max memory, 29.6 seconds duration
>
> 1MB threshold:
> 2 threads -> 8 MB max memory, 64.6 seconds duration
> 4 threads -> 15 MB max memory, 39.5 seconds duration
> 8 threads -> 32 MB max memory, 28.9 seconds duration
>
> As you can see, using a much lower threshold has no discernable performance
> impact, but uses a lot less memory. Also note that the memory consumption can
> be much higher in the worst case scenario.
I agreeļ¼ Thanks for the evaluation! I think 1MB is reasonable. Will made the
change in next update.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2261