一个命令行启动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就会发疯,可能是在垃圾回收内存中遗留的微小角落。
是否有可能忽略或覆盖参数?