Требуется помощь по сбору мусора - PullRequest
6 голосов
/ 26 июля 2011

Я ищу небольшое руководство по диагностике проблем, связанных с ГХ.

Мы проводим тестирование на Solaris с WebSphere Portal, и в моей текущей среде накладные расходы на сборку мусора составляют 7% (это рассчитано для многословного GC и запуска журнала через PMAT). Я должен сравнить это значение с другой средой.который работает в среднем 4,5%.Конверт находится в точно такой же версии WebSphere Portal, с теми же размерами JVM, параметрами, пользовательскими переменными и т. Д.У моих JVM было на 20 сбоев больше, на 2 больше полных ГХ, среднее время паузы во время ГХ на 2 секунды выше, чем в их среде в течение 1-часового тестирования производительности.

Можете ли вы дать мне какой-либо совет о том, что может быть причиной этой проблемы, с одинаковыми значениями конфигурации и одинаковым точным тестом производительности в течение 1 часа?Или что-нибудь еще для обзора?

Спасибо

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Первое, что я хотел бы проверить, - это когда процесс помещается в swap / «виртуальную» память. Это может оказать значительное влияние на ваши издержки GC.

При одинаковых конфигурациях Java, загрузке и т. Д. Наиболее очевидной разницей будет количество физической памяти на каждой машине. Предполагая, что они одинаковы, посмотрите, какие другие процессы / службы работают на каждом компьютере - если только они не являются новыми установками одной и той же ОС, я ожидаю, что будут некоторые (потенциально существенные) различия.

Опубликуйте вывод из top и iostat (или ваших любимых инструментов), и мы посмотрим, есть ли что-нибудь очевидное.

0 голосов
/ 22 октября 2011

Если вы используете разные операционные системы, возможно, они работают по-разному с одинаковыми настройками.Оптимальные настройки GC и размеры пула потоков могут отличаться.Я помню, что по крайней мере в случае Solaris против RedHat оптимальные параметры параллелизма были явно разными.

...