标题:
由于TUXEDO客户端安装不善导致中间件内存泄漏、连接失败等问题
现象描述:
完全安装TUXEDO客户端与服务端后,中间件内存泄漏,中间件与服务端的连接时断时好。
告警信息:
1、 在任务管理器中可以观察到TUXEDO中间件每调用一次内存即有所增长,直至最后内存溢出导致死机。
2、 查看Tuxedo客户端安装目录下的ULOG日志,该日志中存在大量的不断重复的错误日志:
000000.10086-DTPROXY02!?proc.7616.4732.0: GP_CAT:1566: ERROR: Unable to bind local address
000000.10086-DTPROXY02!?proc.7616.4732.0: LIBWSC_CAT:1055: ERROR: Unable to establish WSL connection
000000.10086-DTPROXY02!?proc.7616.4732.0: LIBWSC_CAT:1027: ERROR: Unable to connect to WSH
000000.10086-DTPROXY02!?proc.7616.4732.0: LIBWSC_CAT:1020: ERROR: Unable to obtain authentication level
原因分析:
1、BEA公司的任何一款TUXEDO客户端都必须打补丁,否则可能存在内存泄漏等诸多隐患;
2、操作系统有两个注册表键值TcpTimedWaitDelay和MaxUserPorts,TcpTimedWaitDelay是用来控制端口的释放时长的,MaxUserPorts是最大可用端口,由于操作系统默认默认情况 下TcpTimedWaitDelay为240, MaxUserPorts为1024到5000,从而导致统端口资源不够,大量端口处于等待状态。关于该问题的详解请查看http://support.huawei.com/support/pages/kbcenter/view/product.do?actionFlag=detailCaseDoc&web_doc_id=SC0000206307&doc_type=CaseDoc
处理过程:
1、打上同一版本的TUXEDO客户端补丁,重启计算机,内存泄漏解决;后对其它几台接口机打补丁,有一台仍然出现内存泄漏,经过最终排查,发现该操作系统相较其它几台接口机唯一的区别就是少打了许多Windows2000的补丁,故TUXEDO补丁能否生效可能还与操作系统有关。
2、修改注册表后重启计算机解决连接失败:在HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Tcp ip/Parameters/目录下增加或修改TcpTimedWaitDelay到30,MaxUserPorts到50000(该数值仅供参考)。
建议与总结:
现对TUXEDO客户端的安装步骤归纳如下:
1、完全安装TUXEDO客户端,否则会却少一些动态库;
2、打上同一版本的TUXEDO客户端补丁以避免内存泄漏等隐患;
3、配置环境变量;
4、修改注册表键值TcpTimedWaitDelay和MaxUserPorts以避免连接失败等现象。
--转自