|
服务器端的DGC分布式垃圾收集算法有两个调试参数:
1) DebugDGCEnrollment – 当一个远程对象的引用被创建或提供它的名字和OID时,记录日志。该参数在你希望知道一个特定的远程对象的OID时是有用的。
在WLS 8.1 中工作的例子:
<Apr 21, 2003 9:53:49 AM MDT>
<Info> <RMI> <BEA-080026> <Exporting remote object examples.rmi.hello.HelloImpl with id 276.>
2) LogDGCStatistics– DGC分布式垃圾收集算法执行时记录日志。
在WLS 8.1 中工作的例子:
<Apr 21, 2003 9:57:46 AM MDT>
<Debug> <RMI> <BEA-080014> <Marked in: 751 ms> <Apr 21, 2003 9:58:35 AM MDT>
<Info> <RMI> <BEA-080021> <Sweep freed: 0 objects in: 0 ms. 36 exported objects remain.>
*注:这些参数仅在WLS 8.1 中工作,在WLS 6.1 和 WLS 7.0
中不工作。
这两个参数都在KernelDebugMBean中配置,可以通过如下方式设置:
1) 在启动‘服务器端’WebLogic server时通过命令行设置.
e.g -Dweblogic.debug.DebugDGCEnrollment=true
-Dweblogic.debug.LogDGCStatistics=true
2)在config.xml 文件中配置:
<Server>
<KernelDebug DebugDGCEnrollment = “true” LogDGCStatistics = “true” />
</Server>
*注:调试的关键是需要通过命令行增加下面的设置:
-Dweblogic.kernel.debug=true
在服务器端的DGC分布式垃圾收集算法根据weblogic.rjvm.HeartbeatMonitor 中定义的周期(milliseconds),规律的运行。空闲运行直至timeout的, 此参数在KernelMBean 中指定。缺省情况下,这个DGC分布式垃圾收集算法每四分钟执行一次(PeriodLength of 60000 milliseconds * DGCIdlePeriodsUntilTimeout of 4)
1) PeriodLength是KernelMBean的一个可配置参数,它可以通过如下方式配置:
(1) 在启动‘服务器端’WebLogic server时通过命令行设置
Dweblogic.PeriodLength=60000
(2) 在config.xml 文件中配置:
<Server>
<Kernel PeriodLength=“60000” />
</Server>
2) DGCIdlePeriodsUntilTimeout 可以通过KernelMBean 的参数IdlePeriodsUntilTimeout配置. 它可以:
(1) 在启动‘服务器端’WebLogic server时通过命令行设置.
e.g
Dweblogic. IdlePeriodsUntilTimeout =3
(2) 在config.xml 文件中配置:
<Server>
<Kernel IdlePeriodsUntilTimeout=“5” />
</Server>
如果客户有处理DGC 问题的经验,推荐客户根据具体情况考虑是否需通过调优这些参数以帮助解决问题。一个原则是不改变这些参数,因为他们也被RJVM heartbeats 使用
|