专业化管理 > 配置您的 Windchill 环境 > 使用 Windchill Configuration Assistant 配置 Windchill > 配置一览 > configureWindchill > 交互模式配置选项 > 配置无用单元收集诱发 (GCBaiter)
  
配置无用单元收集诱发 (GCBaiter)
为减少因无限制的内存操作导致方法服务器堆耗尽的可能性,Assistant 将配置一个称为“无用单元收集诱发 (GCBaiter)”的功能。当方法服务器堆的利用率为 100% 时,JVM 通常会崩溃并出现 OutOfMemoryError。GCBaiter 会尝试在 OutOfMemoryError 出现之前确定耗用绝大部分可用堆的用户操作,然后将其终止。当 JVM 检测到低内存状况时 (例如,当 JVM 无用单元收集器需要收集 SoftReferences 时),将自动启动 GCBaiter。GCBaiter 使用 MethodServer.gcBaiting.suggestedMinAvailableHeapPercent 特性来检测方法服务器的可用堆空间何时降低到所要求的最小值之下。
Windchill Configuration Assistant 以占方法服务器堆最大大小百分比的形式计算 GCBaiter 使用的最小可用堆值。默认值为 5%,由特性 MethodServer.gcBaiting.suggestedMinAvailableHeapPercent 控制。请注意,启用 GCBaiting 时,Assistant 不会设置 DisableExplicitGC Java 命令行选项。
以下示例显示了设置“无用单元收集诱发”目标 configureGCBaiter 时显示的提示:
configureGCBaiter:
[input] Do you want to enable automatic termination of requests to avoid OutOfMemory (y/n)? ([y], n)
[input] Minimum percentage of heap available: [5]
[xslt] Processing <Windchill>\codebase\WEB-INF\methodServerMBeanConfig.xml to <Windchill>\utilities\wca\conf\windchillmethodServerMBeanConfig.xml
[xslt] Loading stylesheet <Windchill>\utilities\wca\GCBaiter.xsl
[xslt] Add minAvailableHeapThreshold: 5