一个命令行启动Gradle,这反过来又产生了一个Java进程来通过我们的应用程序启动Jetty。该应用程序可能很快需要大量内存。因此,我们要求启动一个具有2Go堆且与最大堆大小相同的启动。
// Launch server
task appRun (type:Exec) {
/* ... irrelevant bits removed, establishing the variables ... */
executable javaExec
args "-Xmx2g", "-Xms2g", "-DwaConfigFolder=config", "-Djava.io.tmpdir="+JETTY_TEMP_FOLDER, '-jar', jettyFile, "--path" , webApp, "--config" , jettyHttpsConfFile, warFile
}
但是,一旦应用程序开始运行,Java就会达到默认的1Go限制,CPU就会发疯,可能是在垃圾回收内存中遗留的微小角落。
是否有可能忽略或覆盖参数?