Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Анализ логов GC / 10 сообщений из 10, страница 1 из 1
25.09.2013, 20:35:38
    #38407737
abc_da
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
Добрый день,

Занимаюсь анализом логов GC(получаются путем запуска JVM с аргументами -Xloggc:...), мне не удалось найти подробного описания формата output'а, который в этот лог пишется. Видел статьи и посты, которые покрывают этот вопрос частично, но официального документа не нашел. Он существует?

Например, меня интересует вопрос, что означает "Times" в следующей записи:
Код: java
1.
2013-09-24T18:57:08.526+0400: 3166.439: [CMS-concurrent-sweep: 5.795/6.665 secs] [Times: user=43.04 sys=3.87, real=6.66 secs] 



Можно ли как-то из этого узнать, как сильно данная операция нагрузила процессор?

Заранее спасибо за помощь.
...
Рейтинг: 0 / 0
25.09.2013, 22:32:57
    #38407824
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
abc_daЗанимаюсь анализом логов GC(получаются путем запуска JVM с аргументами -Xloggc:...), мне не удалось найти подробного описания формата output'а, который в этот лог пишется. Видел статьи и посты, которые покрывают этот вопрос частично, но официального документа не нашел. Он существует?

Я не видел.

abc_daНапример, меня интересует вопрос, что означает "Times" в следующей записи:


Например, это непосредственно к Java может и не относится:
http://stackoverflow.com/a/556411

abc_daМожно ли как-то из этого узнать, как сильно данная операция нагрузила процессор?
Заранее спасибо за помощь.
Что такое "сильно"?. User+Sys вроде и показывает CPU time.
...
Рейтинг: 0 / 0
26.09.2013, 00:01:24
    #38407884
abc_da
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
Blazkowicz,

Спасибо, теперь понятно, что эти показатели означают. Но я не понимаю, как я на их основании могу оценить, какую нагрузку GC дает на CPU. Мне хотелось бы сказать, глядя на эту строчку "Данное действие GC загрузило CPU на X% на Yсек". Вопрос, могу я вычислить X и Y, воспользовавшись информацией из этой записи в логе? Как-то можно процессорное время преобразовать в % загрузки CPU?
...
Рейтинг: 0 / 0
26.09.2013, 01:06:55
    #38407919
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
У JRockit есть развитые возможности по тонкой диагностике нагрузки на GC. Правда практически
я это не пробовал. Только смотрел презентации. И запускать нужно не JVisualVM а именно тот
тул который идёт в комплекте с J-Ракетой.
...
Рейтинг: 0 / 0
26.09.2013, 01:34:30
    #38407928
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
И я-бы думал не о том, сколько Times потребляет GC, а почему GC озадачен
такой нагрузкой и что за объект флудит и почему.
...
Рейтинг: 0 / 0
26.09.2013, 19:06:37
    #38408916
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
В jdk7u40 Миссию-Чего-то-Там тоже включили, но, как понимаю, официальное использование предполагает подписку.
...
Рейтинг: 0 / 0
26.09.2013, 21:29:42
    #38409021
abc_da
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
mayton,

За эти 6 секунд GC собрал порядка 5Гб мусора. Я пытаюсь понять, насколько приемлемо, что CMS-concurrent-sweep занимает столько времени и, если это "плохо", понять, какими параметрами я могу это время сократить. Первое решение по сокращению этого времени, которое приходит - уменьшить размер heap'а. Но, возможно, есть альтернативы?

Basil A. Sidorov,

Не понял смысла вашего комментария, но на всякий случай, я использую jdk 6u37
...
Рейтинг: 0 / 0
26.09.2013, 21:40:17
    #38409027
забыл ник
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
а уменьшить количество генерируемого мусора - не вариант?
...
Рейтинг: 0 / 0
26.09.2013, 23:09:58
    #38409091
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
abc_daЗа эти 6 секунд GC собрал порядка 5Гб мусора. Я пытаюсь понять, насколько приемлемо, что CMS-concurrent-sweep занимает столько времени и, если это "плохо", понять, какими параметрами я могу это время сократить. Первое решение по сокращению этого времени, которое приходит - уменьшить размер heap'а. Но, возможно, есть альтернативы?

Для начала сделай дамп хипа в час наибольше нагрузки. И просмотри его через тот-же JVisualVM.
Обрати внимание на count объектов в памяти. У нас часто были DTO/Pojo/Entities которые
database mapper выгребает из БД. Как только узнаешь что за класс объекта флудит - смотри
код. Вполне возможно что SQL запрос выгребает слишком много данных. Дальше решение
лежит в плоскости бизнес задачи.
...
Рейтинг: 0 / 0
27.09.2013, 18:42:55
    #38410321
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Анализ логов GC
abc_daНе понял смысла вашего комментария, но на всякий случай, я использую jdk 6u37Продвинутый инструмент, упомянутый mayton включён стандартный пророческий jdk7u40.
Насколько я понимаю, легальное использование этого инструментария предполагает предполагает наличие подписки.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Анализ логов GC / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]