2016-04-13 3 views
0

У меня есть Java-программа, работающая на платформе Linux, и она краха довольно часто, и в этой ситуации я хотел бы иметь heapdump автоматически.Как создать кучи кучи автоматически, когда процесс Java вызывает ошибку OutOfMemory?

У кого-нибудь есть скрипт/метод для создания кучи кучи Автоматически, когда процесс Java вызывает «ошибку OutOfMemory» в Linux?

Примите во внимание вашу помощь.

ответ

3

Посмотрите this page для опций виртуальной машины Java, а именно:

-XX:. HeapDumpPath =/java_pid.hprof Путь к директории или файла для дампа кучи. Управляемость. (Введенный в 1.4.2 обновление 12, 5,0 обновление 7.)

-XX: -HeapDumpOnOutOfMemoryError дамп кучи в файл, когда java.lang.OutOfMemoryError брошен. Управляемость. (Введенный в 1.4.2 обновление 12, 5,0 обновление 7.)

3

Чтобы принять дамп кучи автоматически, редактировать {каталог установки} /bin/setenv.sh и добавить это к JAVA_OPTS:

- XX: + HeapDumpOnOutOfMemoryError -XX: HeapDumpPath = [путь к дампа кучи]

0

Как указано в документации Oracle:

-XX: + HeapDumpOnOutOfMemoryError командной строки вариант т ell the HotSpot VM для создания дампа кучи, когда распределение из кучи Java или постоянного поколения не может быть удовлетворено. В этом случае нет лишних затрат, поэтому он может быть полезен для производственных систем, где OutOfMemoryError занимает много времени.

Смежные вопросы