Виды Финского залива (m_f) wrote in ru_programming,
Виды Финского залива
m_f
ru_programming

OutOfMemoryError

Вопрос. Как можно бороться с OutOfMemoryError? Поставил ключи DXX:+HeapDumpOnOutOfMemoryError и -DXX:HeapDumpPath=D:\dumps, но дамп не создаётся. В hs_err_pid<>.log файле есть сообщение Failed to write core dump. В связи с этим вопросы:
1. Как можно использовать информацию из hs_err_pid<>.log файла?
2. Как добиться создания нормального core dump, который потом можно скормить jvisualvm?
3. Любые другие советы по теме
4. Корректна ли приведённая выше опция HeapDumpPath, если такой каталог существует?
Заранее спасибо
UPD. Прочитал https://www.oracle.com/java/technologies/javase/felog.html
UPD2. Убрал опцию HeapDumpPath. Жду следующего oom.
Яснее не стало. Вот фрагмент из hs_err_pid.log файла:

Heap after GC invocations=2760 (full 49):
PSYoungGen total 632832K, used 18626K [0x00000000d5580000, 0x0000000100000000, 0x0000000100000000)
eden space 566784K, 0% used [0x00000000d5580000,0x00000000d5580000,0x00000000f7f00000)
from space 66048K, 28% used [0x00000000fbf80000,0x00000000fd1b0800,0x0000000100000000)
to space 66048K, 0% used [0x00000000f7f00000,0x00000000f7f00000,0x00000000fbf80000)
ParOldGen total 1215488K, used 402921K [0x0000000080000000, 0x00000000ca300000, 0x00000000d5580000)
object space 1215488K, 33% used [0x0000000080000000,0x000000009897a718,0x00000000ca300000)
Metaspace used 534857K, capacity 582147K, committed 588416K, reserved 1546240K
class space used 71902K, capacity 85206K, committed 91264K, reserved 1048576K
}
UPD.3. Вчера по совету pesec сделал минимальный размер кучи равный максимальному. Всё равно упало с oom, дамп кучи не создался. Единственное, на что обратил внимание: во всех файлах есть следующее сообщение:
Native memory allocation (malloc) failed to allocate 131088 bytes for Chunk::new
И ниже:
Stack: [0x0000000008420000,0x0000000008520000]
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V [jvm.dll+0x3169ba
Вопрос: как можно по адресу понять, в какой функции это происходит?
Subscribe

  • Отслеживание соединений БД Postgresql

    Какие есть средства для сабжа? Удалось нагуглить таблицу pg_stat_activity и кучу коммерческих средств. Может, есть ещё возможности? Отдельный вопрос…

  • Postgresql, Hibernate и materialized view

    В приложении на Hibernate с Postgresql есть materialized view. Её надо время от времени обновлять. Я написал такой код: public void refreshView() {…

  • Вопрос по Hibernate

    Вопрос по hibernate. При сохранении новых данных в БД происходит странное. Hibernate меняет одно из полей в методе dirtyCheck() класса…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 18 comments

  • Отслеживание соединений БД Postgresql

    Какие есть средства для сабжа? Удалось нагуглить таблицу pg_stat_activity и кучу коммерческих средств. Может, есть ещё возможности? Отдельный вопрос…

  • Postgresql, Hibernate и materialized view

    В приложении на Hibernate с Postgresql есть materialized view. Её надо время от времени обновлять. Я написал такой код: public void refreshView() {…

  • Вопрос по Hibernate

    Вопрос по hibernate. При сохранении новых данных в БД происходит странное. Hibernate меняет одно из полей в методе dirtyCheck() класса…