Назад | Перейти на главную страницу

Ожидается ли, что когда JVM выполняет полный сборщик мусора, она увидит большое количество отказов страниц в секунду?

Это сервер Window 2003.

Мы проводим некоторый тест производительности и видим следующее: 1. В первые 5 часов количество ошибок страницы в секунду очень мало, например 10 или 20.

  1. За последний 1 час количество ошибок страниц увеличивается до 500 ошибок страниц в секунду.

  2. За последний час мы видим, что Java-сервер прекращает регистрацию чего-либо в течение 6-7 секунд, а затем возобновляет работу. Это произошло около 200 раз за последний час.

  3. Мы подозреваем, что это из-за сборки мусора JVM.

Что я хочу знать, так это то, что, когда JVM выполняет сборку мусора, ожидается ли большое количество ошибок страницы в секунду по сравнению с отсутствием сборщика мусора?

Да.

Когда вы выполняете сборку мусора, вы обычно получаете доступ к большому количеству страниц, к которым в последнее время не обращались. Многие из этих страниц, вероятно, считались кандидатами на удаление, если система столкнется с нехваткой памяти.

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

Большое количество открытых страниц, к которым не обращались в последнее время, означает множество программных ошибок страниц.