我正在使用Gradle 2.5编译一个由5个模块组成的Java项目。为了加快速度,我还使用了gradle-daemon。但是,在编译期间,最多有18个gradle-daemon实例在运行。编译完成后,还剩下15个守护进程实例。守护进程消耗大约600 MB的RAM。在后台运行这么多守护进程是正常的吗?还是gradle-守护进程配置错误?
更新:我的操作系统是Debian Jessie。Java版本为Oracle Java 8。
发布于 2015-12-21 21:19:48
遵循Antoniossss的建议,我与一位开发人员取得了联系。事实证明,Gradle实际上非常需要资源。即使是一个简单的"Hello World“应用程序,守护进程也可以很好地使用高达150MB甚至更多的空间。也可以启动多个守护进程线程,只要它们在同一个JVM中运行。在用户端仅有有限的控制来控制/限制内存使用。可以设置GRADLE_OPTS变量来将Xmx选项传递给JVM,例如,我设法使用以下设置构建了我的Android项目:
$ export GRADLE_OPTS="-Xmx64m -Dorg.gradle.jvmargs='-Xmx256m -XX:MaxPermSize=64m'"第一个-Xmx选项是为您在CLI中启动的Gradle设置的,第二个选项(在-Dorg.gradle.jvmargs之后)是Gradle-Daemon的-Xmx值。
允许JVM使用的内存越少,构建失败的风险就越高--这一点很明显。因此,您可能必须调整这些设置,直到它们符合您的目的。
这些设置也可以在gradle.properties文件中设置。
https://stackoverflow.com/questions/34314862
复制相似问题