【发布时间】:2011-04-26 14:43:01
【问题描述】:
我在尝试将 -XX:OnOutOfMemoryError="kill -9 %p" 命令传递到我的 jvm args 时遇到问题。
我正在使用 Jetty7,并且在 start.ini 文件中有这个。在启动时它给我下面的错误。这是与 jre /jre1.6.0_03l64
开始码头:开始码头 2011 年 4 月 26 日星期二 09:54:26 EDT
无法识别的选项:-9
无法创建 Java 虚拟机。
start.ini 文件如下。
#===========================================================
# If the arguements in this file include JVM arguments
# (eg -Xmx512m) or JVM System properties (eg com.sun.???),
# then these will not take affect unless the --exec
# parameter is included or if the output from --dry-run
# is executed like:
# eval $(java -jar start.jar --dry-run)
#
# Below are some recommended options for Sun's JRE
#-----------------------------------------------------------
--exec
# -Dcom.sun.management.jmxremote
-Xmx4096m
-Xmn512m
-DLABEL=PROD_APP
-verbose:gc
-Xloggc:/export/opt/prod_app/logs/gc.log
-XX:OnOutOfMemoryError="kill -9 %p"
# -XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-XX:+PrintTenuringDistribution
# -XX:+PrintCommandLineFlags
# -XX:+DisableExplicitGC
# -XX:+UseConcMarkSweepGC
# -XX:ParallelCMSThreads=2
# -XX:+CMSClassUnloadingEnabled
# -XX:+UseCMSCompactAtFullCollection
# -XX:CMSInitiatingOccupancyFraction=80
评论 line out jetty 将毫无问题地开始。但是,由于系统内存泄漏,我们确实需要添加此参数,以防止我们的进程崩溃时进一步损坏。
有人知道我在这里做错了什么或如何解决这个问题吗?
【问题讨论】:
-
我也遇到了类似的问题,但它在我自己的批处理/bash 文件中。也许 jetty 会在 .ini 文件中的所有内容上加上他自己的引号。您可以尝试使用单引号 (') 来代替吗?
-
我想知道为什么它不起作用...它说
-XX:OnOutOfMemoryError="<cmd args>;<cmd args>" Run user-defined commands when an OutOfMemoryError is first thrown. (Introduced in 1.4.2 update 12, 6)oracle.com/technetwork/java/javase/tech/…