Class data sharing question
Peter B. Kessler
Peter.Kessler at Sun.COM
Wed May 20 10:18:56 PDT 2009
I'm *not* the CDS expert. But SharedReadOnlySize, SharedReadWriteSize, etc. are just variables defined and given default values in globals.hpp. Presumably if we've added enough classes to the shared class archive that the defaults are not large enough, we can just change them. People will ding us for our increased footprint. We might want to figure out if the increase in the number of classes in the archive was intentional or a transient mistake.
Kelly O'Hair wrote:
> If the jdk is built with -target 7 (newer classfile format), then we
> are getting this from running:
> java -client -Xshare:dump
> Loading classes to share ... done.
> Rewriting and unlinking classes ... done.
> Calculating hash values for String objects .. done.
> Calculating fingerprints ... done.
> Removing unshareable information ... done.
> Moving pre-ordered read-only objects to shared space at 0xd7000000 ...
> Moving read-only objects to shared space at 0xd75e9950 ... done.
> Moving common symbols to shared space at 0xd75eb8a0 ... done.
> Moving remaining symbols to shared space at 0xd76bfd38 ... done.
> Moving string char arrays to shared space at 0xd76c0f38 ... done.
> Moving additional symbols to shared space at 0xd777ed60 ... Java
> Client VM warning:
> The permanent generation read only space is not large enough to
> preload requested classes. Use -XX:SharedReadOnlySize= to increase
> the initial size of the read only space.
> (And I assume a non-zero exit code, since things are terminating)
> This example was from Solaris 10 X86.
> Any insights on this?
> Who is the resident CDS expert now?
More information about the hotspot-dev