Пытаюсь собрать ядро java на AIX (версия java 1.6). Настроен только один агент дампа, который собирает системный дамп, дамп кучи и ядро Java для каждого SIGQUIT, поэтому Я использовал HealthCenter, чтобы запросить только javacore. Это сработало нормально, это не запустило дамп кучи или системный дамп, но это привело к зависанию сервера WebLogic (я знаю) на 172 секунды (секунды, а не мс), пока он выгружался, и полученный файл был 88 МБ. Я понятия не имею, почему дамп javacore может длиться так долго и почему он может быть таким большим.
Слайд 3 в этой презентации заявляет, что это должно занять несколько сотен мс и быть около 2 МБ, что очень похоже на то, что я вижу с HotSpot. Я знаю, что речь идет о Java 5, но одно увеличение основной версии не могло иметь такого огромного значения!
Что могло быть причиной того, что это длилось так долго? Что я могу сделать, чтобы это ускорить?
К вашему сведению: размер кучи составляет 16 ГБ, но на момент создания дампа она была заполнена менее чем наполовину. В дампе также нет информации о собственной памяти, и использование IBM TMDA отказывается правильно отображать панель подробных сведений о потоке. В каждом сделанном дампе около 310 потоков.