JRockit的-Xgc参数及其意义

JRockit的-Xgc参数及其意义

-Xgc

使用 -Xgc 可设置静态垃圾收集器。静态垃圾收集器的分类如

表:静态垃圾收集器

 

单空间

分代式

并发

单空间并发

-Xgc:singlecon

分代式并发

-Xgc:gencon

并行

单空间并行

Xgc:singlepar(或)-Xgc:parallel

单空间分代式

-Xgc:genpar

某些情况下,与统一收集器或通过 -server 或 -client 标志提供的默认收集器相比,这些垃圾收集器的性能可以更好地满足您的要求。此外,如果要使用为 BEA JRockit 的早期版本编写的实现这些收集器的脚本,那么这些脚本可继续使用,无需任何修改,除非这些脚本使用已不再提供的分代式复制垃圾收集器。

操作
格式:-Xgc:<gcType>
使用 -Xgc 与下表中 中所列的垃圾收集类型 (<gcType>) 之一获取所需的垃圾收集器算法:

singlecon

设置单空间(非分代式)并发垃圾收集器。这是一种多数并发垃圾收集器 – 意味着它将与 Java 应用程序并发执行其垃圾收集工作中的多数工作。所有对象都保留在一个单独的空间(也称“代”)中。singlecon 垃圾收集为使暂停时间最短而使用了较小的应用程序吞吐量。

gencon

设置分代式并发垃圾收集器。使用此类型的垃圾收集器,对象被分配在新代(Nursery)中。Nursery 变满时,BEA JRockit 会停止所有 Java 线程并将新代中的活动对象移动到“旧代”中。 这是一种多数并发垃圾收集器 – 意味着它将与 Java 应用程序并发执行其垃圾收集工作中的多数工作。对于分配大量小的短期对象的多数应用程序,gencon 垃圾收集器优于 singlecon 垃圾收集器。gencon 垃圾收集器以最短暂停时间换取较大的堆大小和较低的应用程序吞吐量。

parallel/singlepar

设置单空间并行垃圾收集器。并行垃圾收集器会在堆满时停止所有的 Java 线程并使用每个 CPU 执行整个堆的垃圾收集全过程。并行收集器比并发收集器的暂停时间较长,但可最大化吞吐量。如果应用程序允许更长的暂停时间,那么,即使在单 CPU 计算机上,也推荐使用并行垃圾收集器,以便最大限度地提高性能。

genpar

设置分代式垃圾收集器。使用此类型的垃圾收集器,对象首先分配在新代中。当 Nursery 变满时,BEA JRockit 会停止所有的 Java 线程并执行并行 Nursery 收集;即,它使用所有可用的 CPU 资源并将新代中的所有活动对象移动到旧代中。旧代收集器会在堆变满时停止所有的 Java 线程并执行并行垃圾收集全过程。此收集器将吞吐量的优先级排在暂停时间之前。
对于分配大量小的短期对象的应用程序,此收集器通常优于 singlepar 垃圾收集器。虽然 genpar 收集器执行的垃圾收集次数多于 singlepar 收集器执行的垃圾收集次数,但前者单次暂停时间较短,并且在旧代空间中带来的碎片也较少。


默认值

这些默认值适用于 -Xgc

  • 当 BEA JRockit 以 -client 模式运行时,singlecon 是默认的垃圾收集器
  • 当 BEA JRockit 以 -server 模式运行时,singlepar/parallel 是默认的垃圾收集器
受影响的标志或其他选项

在指定 -Xgc 时,将影响以下选项:

  • 设置 -XXsetGC 将替换 -Xgc,反之亦然
  • 设置 -Xgc 将替换 -server-client 的部分效果。
异常

使用 -Xgc 时,请注意以下异常:

  • 如果设置静态垃圾收集器,将不能充分使用管理 API;即,API 的某些功能将不可用。
  • 不能将 -Xgc 与以下任一选项结合使用:
    • -XgcPrio
    • -XpauseTarget
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值