У меня проблема с попыткой передать команду -XX:OnOutOfMemoryError="kill -9 %p"
в мои аргументы jvm.
Я использую Jetty7, и это в файле start.ini. При запуске это даст мне ошибку ниже. Это с jre /jre1.6.0_03l64
Стартовая пристань
Нераспознанная опция: -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
Комментируя причал, все начнется нормально, без проблем. Однако нам действительно нужно добавить этот аргумент из-за утечки памяти в системе, чтобы предотвратить дальнейшее повреждение в случае сбоя нашего процесса.
Кто-нибудь может понять, что я делаю здесь неправильно или как я могу это исправить?