故障排除 请注意,并非下面所有任务都需要完成。有些问题仅通过执行几项任务就可以解决。 快速链接
为什么发生此问题? 发生此问题有几个原因。通常,问题原因在于 WLS 或 Tuxedo 端配置错误,有时候是程序自身的错误。检查下列各项以尝试查找并确定引起内存不足异常/错误 (OOME) 的原因。
- 检查在命令行上是否分配足够的堆以及系统是否有足够内存。如果 WebLogic Server 一开始只有 128M,那么将该值增大到某个较大值可确保这不是一个问题。
- 检查 WLS 端和 Tuxedo 端的配置是否正确:
- 验证 WLS 端和 Tuxedo 端没有使用相同的端口号。这种情况在过去引起内存不足异常/错误 (OOME)。
配置 WLS/WTC 时,本地域端口号应当与 WLS 端口号不同。
示例:
<NWAddr>//ip:port</NWAddr>
其中,端口号与用于启动 WLS 的端口号不同。
- 检查 dmconfig 文件(Tuxedo 端),确保没有为 LOCAL(本地)和远程(REMOTE)域指定相同的 MTYPE。
WebLogic Tuxedo Connector 要求 Tuxedo 域始终启用编码功能。在 DMCONFIG 文件中,MTYPE 应当始终复位或设置为 NULL。
示例:
如果设置了 MTYPE,您将看到此错误: <Error> <Posix Performance Pack><Uncaught Throwable in processSockets java.lang.OutOfMemoryError <<no stack trace available>>
在 DMCONFIG 文件中,MTYPE 应当始终设置(或复位)为 NULL,因为当您从 java 转向 C 语言时,编码/解码“始终”是必不可少的。为了理解其中原因,只要考虑一下字符串就可以一目了然:字符在 java 语言中占两个字节,而在 C 语言中只占一个字节。
- 尝试按照 http://www.weblogic.com/platforms/sun/index.html 和 http://developer.java.sun.com/developer/bugParade/bugs/4390238.html(需要登录 Sun 网站)说明的方法设置 MaxPermSize 为至少 256M
- 如果您看到消息:java.lang.OutOfMemoryError: unable to create new native thread,则说明名为 max_thread_proc 的 Unix 内核设置过小。 max_thread_proc 是单个进程中的最大线程数。 它必须大到能够容纳 Java 应用程序中的所有线程以及虚拟机本身中的部分额外线程。
- 现在,您需要启用 WLS 端的调试功能来收集信息:
WLS 6.1: 在 WTC StartUp 类中设置 BDMCONFIG=path_to_my_bdmconfig.xml_file,TraceLevel=100000 并重新启动 WLS 示例: <StartupClass Arguments="BDMCONFIG=C:\wls610\wlserver6.1\config\examples\bdmconfig.xml,TraceLevel=100000" ClassName="weblogic.wtc.gwt.WTCStartup" Name="WTCStartup" Targets="examplesServer"/>
关于 WLS 6.1 的跟踪级别的文档说明:http://e-docs.bea.com/wls/docs61/wtc_admin/WTC_Admin_troubleshooting.html#1104694 常见问题解答 (FAQ):http://e-docs.bea.com/wls/docs61/wtc_admin/WTC_Admin_troubleshooting.html#1104758
WLS 7.0 和 WLS 8.1: 修改启动脚本中的 JAVA_OPTIONS 以包括以下:JAVA_OPTIONS=-Dweblogic.wtc.TraceLevel=100000
关于跟踪级别的文档说明:http://e-docs.bea.com/wls/docs70/wtc_admin/troubleshooting.html#1104696 常见问题解答 (FAQ):http://e-docs.bea.com/wls/docs70/wtc_admin/troubleshooting.html#1105544
返回页首
背景信息 WTC 提供 WebLogic Server 应用程序和 Tuxedo 服务之间的互操作性。该连接程序在响应服务请求时允许 WebLogic Server 客户端调用 Tuxedo 服务和 Tuxedo 客户端调用 WebLogic Server Enterprise Java Bean (EJB)。有关概述说明,请参阅 http://e-docs.bea.com/wls/docs81/wtc_admin/index.html。
返回页首 |