为什么Gradle守护进程会死亡?

为什么Gradle守护进程会死亡?,gradle,gradle-daemon,Gradle,Gradle Daemon,如何确定我的Gradle守护进程为何死亡?我收到的唯一信息是isL Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed) 这发生在活动生成中。几个步骤将完成,一个步骤将显示为活动,然后生成失败 这是在将内存参数(XmxXmsPermGen)从调用gradlew的shell脚本移动到gradle.properties并直接调用gradlew之后开始的 build.sh

如何确定我的Gradle守护进程为何死亡?我收到的唯一信息是isL

Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
这发生在活动生成中。几个步骤将完成,一个步骤将显示为活动,然后生成失败

这是在将内存参数(
Xmx
Xms
PermGen
)从调用
gradlew
的shell脚本移动到
gradle.properties
并直接调用
gradlew
之后开始的

build.sh

export GRADLE_OPTS="\"-Xmx1024m\" \"-Xms256m\" \"-XX:MaxPermSize=256m\""
export JAVA_HOME="/usr/local/java/jdk1.6"
exec ./gradlew "$@"
添加到
gradle.properties

org.gradle.java.home=/usr/local/java/jdk1.6/
org.gradle.jvmargs=-Xmx1024m -Xms256m -XX:MaxPermSize=256m
更改后,Gradle警告:

To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: http://gradle.org/docs/2.2.1/userguide/gradle_daemon.html

即使我们没有要求它这样做,构建仍在守护进程中运行,最终失败。

Gradle构建守护进程意外消失
最常见的情况是当其他东西杀死长期运行的Gradle守护进程和客户端进程时(守护进程使用本地TCP连接进行通信)尝试发送消息但未收到响应


例如,在生成过程中运行
gradle--stop
killall java
将重现此问题。

这是一致性故障吗?使用--info或--debug标志运行gradle可能会给您一个提示,说明您上次使用守护进程构建某个东西有多长时间了,在它死之前?这是相当一致的。我将尝试使用--info或--debug,但我的假设是,我不会得到太多信息,因为进程不会有这些信息,而是守护进程有这些信息。@Jolta我应该注意到这种情况发生在构建中期。此构建成功后需要3.5小时。有时在17分钟内失败,有时在几个小时内失败。有一些可预测的模式,但我不知道要修复什么。我猜是
OutOfMemory
:)你能发布构建脚本和gradle.properties的相关差异吗?