我正在尝试建立一种方法来处理应用程序中的内存不足错误。为此,我在gradle文件中添加了-XX:OnOutOfMemoryError
的选项,该选项将添加到启动脚本的jvm选项中。但是,这似乎导致该应用无法以简单的错误启动:
-9: command not found
这是我在gradle.build文件中设置jvm选项的方式:
task appStartScripts(type: CreateStartScripts) {
def tplName = 'startTemplate.sh'
assert project.file(tplName).exists()
unixStartScriptGenerator.template = resources.text.fromFile(tplName)
defaultJvmOpts = [
"-Dsun.security.krb5.debug=false",
"-Dsun.security.jgss.debug=false",
"-XX:OnOutOfMemoryError=\"kill -9 %p\"",
"-Xms1G", "-Xmx2G",
"-Dapp.name=${rootProject.name}"]
dependsOn shadowJar
applicationName = 'start'
defaultJvmOpts += ["-Dspring.profiles.active=Profile_Name"]
classpath = startShadowScripts.classpath
mainClassName = startShadowScripts.mainClassName
outputDir = new File(project.buildDir, 'scriptsShadow')
}
我也尝试过\'kill -9%p \'和'kill -9%p'。我还只是将整个内容括在start.sh文件中的引号中:
"-XX:OnOutOfMemoryError=kill -9 %p"
仅输出以下内容:
Unrecognized option: -9
这看起来应该很简单,尤其是因为我将命令和选项用引号引起来。