Mule 包装器ping超时,骡子被困

Mule 包装器ping超时,骡子被困,mule,java-service-wrapper,Mule,Java Service Wrapper,如标题所述。之后,包装器无法启动另一个JVM,我的mule服务停止。这方面的线索呢 服务器上有一点负载,但负载不应该太大 以下是相关日志: 发送数据包PING:确定 读取数据包PING:ok 从JVM获得ping响应 发送数据包PING:PING 发送数据包PING:PING 发送数据包PING:PING 发送数据包PING:PING 发送数据包PING:PING 发送数据包PING:PING 发送数据包PING:PING JVM出现挂起:等待来自JVM的信号超时 JVM未根据请求退出,已终止在

如标题所述。之后,包装器无法启动另一个JVM,我的mule服务停止。这方面的线索呢

服务器上有一点负载,但负载不应该太大

以下是相关日志:

发送数据包PING:确定
读取数据包PING:ok
从JVM获得ping响应
发送数据包PING:PING
发送数据包PING:PING
发送数据包PING:PING
发送数据包PING:PING
发送数据包PING:PING
发送数据包PING:PING
发送数据包PING:PING
JVM出现挂起:等待来自JVM的信号超时
JVM未根据请求退出,已终止在端口32002上侦听的服务器
在启动另一个JVM之前等待5秒
信号被捕获。详细信息:
信号号=17(SIGCHLD),source=“未知”
收到SIGCHLD,正在检查JVM进程状态
JVM响应信号SIGKILL(9)退出
JVM进程以代码1退出,但包装器退出代码已为1
无法启动JVM

从第一个日志文件中,我可以看到JVM对包装器的ping请求没有响应:

因此,包装器假定JVM已冻结,因此尝试停止并重新启动它。但事实上,似乎由于一些重负载,包装器甚至无法启动另一个JVM实例。 您可以扩展wrapper.ping.timeout,如果您的机器上经常发生重负载,这将给JVM更多时间处理ping请求

希望这对你有所帮助

干杯

我们最近在生产中遇到了这个问题,奇怪的是,3个容器中有2个失败了。启用JVM日志后,除了JVM在10分钟后退出并尝试重新启动之外,没有太多关于发生了什么的信息

在我们将mule配置包装器.backend.type=PIPE更改为AUTO之后,问题似乎已经解决


我们还计划增加超时时间、增加内存等,但这对我们来说现在起了作用。

下面是我重新启动mule时的日志使用:mule start
Working directory set to: /root
Spawning intermediate process...
Spawning daemon process...
--> Wrapper Started as Daemon
Using tick timer.
server listening on port 32000.
Classpath element, wrapper.java.classpath.1, does not exist: %MULE_LIB%
Command[0] : java
Command[1] : -Dmule.home=/opt/skybus
Command[2] : -Dmule.base=/opt/skybus
Command[3] : -Djava.net.preferIPv4Stack=TRUE
Command[4] : -XX:MaxPermSize=128m
Command[5] : -Djava.endorsed.dirs=/opt/skybus/lib/endorsed
Command[6] : -Xms2048m
Command[7] : -Xmx2048m
Command[8] : -Djava.library.path=%LD_LIBRARY_PATH%:/opt/skybus/lib/boot
Command[9] : -classpath
Command[10] : %MULE_LIB%:/opt/skybus/conf:/opt/skybus/lib/boot/mule-module-boot-        3.2.1.jar:/opt/skybus/lib/boot/log4j-1.2.14.jar:/opt/skybus/lib/boot/mule-module-reboot-3.2.1.jar:/opt/skybus/lib/boot/wrapper-3.2.3.jar:/opt/skybus/lib/boot/commons-cli-1.2.jar:/opt/skybus/lib/boot/mule-module-logging-3.2.1.jar
Command[11] : -Dwrapper.key=XmncggXh3D4jnC8q
Command[12] : -Dwrapper.port=32000
Command[13] : -Dwrapper.jvm.port.min=31000
Command[14] : -Dwrapper.jvm.port.max=31999
Command[15] : -Dwrapper.debug=TRUE
Command[16] : -Dwrapper.pid=30321
Command[17] : -Dwrapper.version=3.2.3
Command[18] : -Dwrapper.native_library=wrapper
Command[19] : -Dwrapper.service=TRUE
Command[20] : -Dwrapper.cpu.timeout=10
Command[21] : -Dwrapper.jvmid=1
Command[22] : org.mule.module.reboot.MuleContainerBootstrap
Command[23] : start0
Launching a JVM...
Starting the Mule Container...
WrapperManager class initialized by thread: main  Using classloader: sun.misc.Launcher$AppClassLoader@192d342
Wrapper (Version 3.2.3) http://wrapper.tanukisoftware.org
  Copyright 1999-2006 Tanuki Software, Inc.  All Rights Reserved.

Wrapper Manager: JVM #1
Running a 32-bit JVM.
Wrapper Manager: Registering shutdown hook
Wrapper Manager: Using wrapper
Load native library.  One or more attempts may fail if platform specific libraries do not exist.
Loaded native library: libwrapper-linux-x86-32.so
Calling native initialization method.
Inside native WrapperManager initialization method
Java Version   : 1.6.0_10-beta-b25 Java HotSpot(TM) Server VM
Java VM Vendor : Sun Microsystems Inc.

WrapperManager.start(org.mule.module.reboot.MuleContainerWrapper@192b996, args["start0"]) called by thread: main
Control event monitor thread started.
Startup runner thread started.
Communications runner thread started.
Open socket to wrapper...Wrapper-Connection
Opened Socket from 31000 to 32000
Send a packet KEY : XmncggXh3D4jnC8q
handleSocket(Socket[addr=/127.0.0.1,port=32000,localport=31000])
accepted a socket from 127.0.0.1 on port 31000
read a packet KEY : XmncggXh3D4jnC8q
Got key from JVM: XmncggXh3D4jnC8q
send a packet LOW_LOG_LEVEL : 1
send a packet PING_TIMEOUT : 30
send a packet PROPERTIES : (Property Values)
Start Application.
send a packet START : start
Received a packet LOW_LOG_LEVEL : 1
Wrapper Manager: LowLogLevel from Wrapper is 1
Received a packet PING_TIMEOUT : 30
PingTimeout from Wrapper is 30000
Received a packet PROPERTIES : (Property Values)
Received a packet START : start
calling WrapperListener.start()
Waiting for WrapperListener.start runner thread to complete.
WrapperListener.start runner thread started.
2012-04-01 14:53:42,297 INFO [org.mule.module.launcher.MuleContainer] - <
**********************************************************************
* Mule ESB and Integration Platform                                  *
* Version: 3.2.1 Build: 23380                                        *
* MuleSoft, Inc.                                                     *
* For more information go to http://www.mulesoft.org                 *
*                                                                    *
* Server started: 12-4-1 下午2:53                                    *
* JDK: 1.6.0_10-beta (mixed mode)                                    *
* OS: Linux (2.6.18-92.el5xen, i386)                                 *
* Host: localhost.localdomain (10.123.75.149)                        *
**********************************************************************>
send a packet PING : ping
send a packet PING : ping
send a packet PING : ping
send a packet PING : ping
send a packet PING : ping
send a packet PING : ping
send a packet PING : ping