- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Java 应用程序,我想在遇到 OutOfMemoryException 时运行脚本
这很好用:$ java -server -XX:OnOutOfMemoryError="./oom_script %p" TestOOMClass
不幸的是,我的应用程序是由生产中的 bash 脚本运行的。脚本归结为:
cmd='java -server -XX:OnOutOfMemoryError="./oom_script %p" TestOOMClass'
##does a lot of checking and cmd building here
exec -a app ${cmd}
最佳答案
由于您的程序是作为 shell 脚本运行的,我建议将其作为 shell 脚本中 shebang 之后的第一行。 :
set -xv
2>&1
在命令行的末尾,因此合并 STDERR 和 STDOUT。 Crontab 通常将命令的 STDOUT 通过电子邮件发送给 root,因此您可以看到输出是什么。如果没有,则将以下内容附加到 crontab 中的命令末尾:
> /somedir/output.$$ 2>&1
somedir
存在,并且在 crontab 运行您的命令后,您将看到详细和调试输出。 shell 脚本中的每一行都将在执行之前显示——无论是编写的还是 shell 实际解释的。
set -xv
在调试任何销售脚本时变得非常有用。 cronjob 和在您的登录名下运行的脚本之间可能涉及各种环境问题。您甚至可能会发现 shell 问题。例如,crontab 通常在 Bourne shell 中执行 shell 脚本,并且您可能将 Bash 或 Kornshell 作为默认 shell。不管是什么,当您打开详细/ Debug模式时,您通常会很快发现问题。
set -xv
在脚本中的任何位置打开详细/ Debug模式,以及
set +xv
将其关闭。
set -xv
在你的 shell 脚本中。
关于Java 选项 -XX :OnOutOfMemoryError does not work when called through exec in bash script,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7208604/
我在一个不是很大的数据帧上使用 pyspark 中的广播连接,但出现了 oom 错误。代码非常简单,如下所示: from pyspark.sql.functions import broadcast
我正在使用 JDK 1.8.0_u66,-XX:+CrashOnOutOfMemoryError 选项尚不可用。所以我最终设置了 -XX:OnOutOfMemoryError="kill -9 %p"
我正在尝试监视上次在一台生产计算机上的进程(由于内存不足而崩溃)。该进程正在使用 -XX:OnOutOfMemoryError=jmap 选项运行。这是什么意思?这是否意味着它会在 OutOfMemo
我在尝试将 -XX:OnOutOfMemoryError="kill -9 %p" 命令传递到我的 jvm 参数时遇到问题。 我正在使用 Jetty7,并将其包含在 start.ini 文件中。启动时
我正在尝试设置一种方法来处理我的应用程序中的内存不足错误。到目前为止,我已将以下选项添加到我的 Gradle 构建文件中: task appStartScripts(type: CreateStart
我的目标是在抛出 java.lang.OutOfMemoryError 时执行脚本(Windows 批处理文件),按照 Hotspot VM Options 中描述的选项 -XX:OnOutOfMem
我在尝试将 -XX:OnOutOfMemoryError="kill -9 %p" 命令传递到我的 jvm 参数时遇到问题。 我正在使用 Jetty7,并且在 start.ini 文件中有这个。在启动
我有一个 Java 应用程序,我想在遇到 OutOfMemoryException 时运行脚本 这很好用: $ java -server -XX:OnOutOfMemoryError="./oom_s
我使用 -XX:OnOutOfMemoryError=\"kill -9 %p\"。它适用于大多数内存不足的情况,但不会终止 java.lang.OutOfMemoryError:无法创建新的 nat
我对 Windows 批处理编程完全陌生。我想要实现的是为 Java 应用程序编写启动脚本。然而,它并没有启动 Java 应用程序,而是打印出来 Usage: java [-options] clas
Java HotSpot VM Options中有以下两个选项: -XX:OnError=";" Run user-defined commands on fatal error. (Introduc
我正在尝试在 OOME 发生时重新启动进程。 Java 二进制文件使用两个 shell 脚本启动,其中一个导入另一个。我无法控制第一个,但可以根据需要修改第二个。这是我正在尝试做的原型(prototy
我是一名优秀的程序员,十分优秀!