-Поиск по дневнику

Поиск сообщений в lj_ru_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 09.09.2006
Записей:
Комментариев:
Написано: 4


OutOfMemoryError

Вторник, 22 Сентября 2020 г. 15:30 + в цитатник
Вопрос. Как можно бороться с 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
Вопрос: как можно по адресу понять, в какой функции это происходит?

https://ru-programming.livejournal.com/1371740.html


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку