Improving AppCDS for Custom Loaders
yumin qi
yumin.qi at gmail.com
Thu May 10 20:20:21 UTC 2018
Hi, Jiangli
Thanks for the info.
On Thu, May 10, 2018 at 11:39 AM, Jiangli Zhou <jiangli.zhou at oracle.com>
wrote:
> Hi Yumin and Volker,
>
> I’ve create an umbrella RFE JDK-8202854 to keep track this effort. New
> sub-RFEs will be created and targeted for specific JDK releases when each
> sub-item matures. Please refer to JDK-8202854 for future progress.
>
> Yumin, please see below for comments/questions.
>
> > Agree not including objects in java heap at now --- thanks Jiangli for
> answering my question in other thread.
>
I conclude from above that you are not using java heap object archiving due
> to different GC algorithm being used(?). I would like to understand more
> about your GC choices. Could you please provide more information on that?
> G1 GC is the default GC in JDK. Thanks to our GC team, the performance of
> G1 has been consistently improving over the recent JDK releases, especially
> in JDK 9 and 10. I strongly encourage you to do performance
> measurement/comparison and reevaluate your GC choice if G1 is not used.
>
Most of our applications still using CMS, we are pushing to switch to G1GC
at this time but still most of them still with CMS. I know CMS will be
removed so it will not be your focus.
>
> > I think for #1, it does not conflict with the two layer archive
> solution. We can skip the classes from base CDS archive, only dump the
> non-base loaded classes into second archive, this gives one more option for
> user to choose. Also it will be good after dump archive to let the
> application continue to run.
> >
> > Can we do a Full GC before dump at exit? it may unload not referenced
> classes, or it is not necessary since CDS wants to resolve the startup
> performance for all loaded classes?
>
> For classes loaded by the builtin loaders, they can be kept alive when
> archiving phase start. For classes loaded by user defined class loaders, we
> also need to prevent them from being unloaded before archiving. I have a
> preliminary idea for how to do that. I can share more information on that
> when it matures.
>
>
Yes, if classes with custom class loader cleaned, the class loader itself
will be purged. Full GC before exit may not be a good idea, but we can skip
unloading classes --- in case dump objects in java heap.
Thanks
Yumin
>
>
More information about the hotspot-runtime-dev
mailing list