ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Avoiding fragmentation for ibm jvm

Avoiding fragmentation for ibm jvm

原创 Linux操作系统 作者:anlinew 时间:2009-03-31 21:14:17 0 删除 编辑


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::

dosed=10388 movable=1233792 free=5658>The 'pinned/classes' size is about the correct size needed for the -Xk parameter. You are recommended to add 10% to the reported value (3955). So, in this example, -Xk4200 would be a good setting.

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:

-Xp[,]where specifies the size of the initial pCluster in bytes and optionally specifies the size of overflow (subsequent) pClusters in bytes. You can use the K and M suffixes to set the -Xp arguments in Kilobytes and Megabytes, for example:

-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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-06

  • 博文量
    28
  • 访问量
    71114