For a large Java? application, such as WebSphere? Application Server, the default kCluster space (for an introduction to kCluster, see Pinned clusters) might not be sufficient to allocate all classblocks. Use the -Xk and -Xp command-line options to specify kCluster and pCluster sizes. For example:
-Xknnnnwhere nnnn specifies the maximum number of classes the kCluster will contain. -Xkinstructs the JVM to allocate space for nnnn class blocks in kCluster. If nnnn is less than 1280, the JVM ignores -Xk and allocates space for 1280 class blocks in kCluster.
GC trace data obtained by setting -Dibm.dg.trc.print=st_verify (for more information about GC tracing, see Tracing) provides a guide for the optimum value of the nnnn parameter. For example::
The difference between pinned (=4265) and classes (=3955) provides a guide for the initial size of pCluster, although because each object might be different in size it is hard to predict the requirements for the pCluster and pCluster overflow options.
You can specify the pCluster and pCluster overflow sizes by the -Xp command-line option:
-Xp16K,2K sets an initial pCluster of 16 Kilobytes and an overflow of 2 kilobytes, which are the default pCluster sizes.
-Xp1M sets an initial pCluster of 1 Megabyte, with the default overflow of 2 Kilobytes.
-Xp1024K sets an initial pCluster of 1024Kilobytes, with the default overflow of 2 Kilobytes.
Where your application suffers from heap fragmentation, use GC trace and specify the -Xk option. If the problem persists, experiment with higher initial pCluster settings and overflow pCluster sizes.
Note that the -Xp command-line option is available only on the AIX? platform. with the subpool GC policy enabled. On other platforms and with other GC policies, this option is ignored.
来自 “ ITPUB博客 ” ，链接：http://blog.itpub.net/27378/viewspace-582500/，如需转载，请注明出处，否则将追究法律责任。