Parallelizing symbol table/string table scan
Thomas Schatzl
thomas.schatzl at oracle.com
Mon Nov 11 08:19:35 PST 2013
Hi,
On Mon, 2013-11-11 at 10:53 -0500, Coleen Phillimore wrote:
> On 11/11/2013 08:56 AM, Thomas Schatzl wrote:
> > Hi all,
> >
> > recently we (the gc team) noticed severe performance issues with
> > symbol table and string table scan during remark.
> >
> > Basically, in G1 these pauses are the largest pauses on a reasonably
> > tuned system. Also, in particular, symbol table scan alone takes 50% of
> > total remark time. String table scan takes another 13%.
>
> Why do you scan the symbol table during remark? It doesn't contain any
> oops.
At the end of remark we scrub it for entries with zero refcount - we do
that at the end of every non-young GCs at the moment.
I *think* the reasoning was that particularly after class unloading
there will be freed symbols, so why not do the symbol scrubbing there as
well. I also *think* that this has been placed there mostly for
convenience (good opportunity since the application is in a STW pause
already).
Thomas
More information about the hotspot-runtime-dev
mailing list