Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Параллельные Улучшения Коллектора Марка Свипа

Описание

Параллельный коллектор развертки метки, также известный как параллельный коллектор или CMS, предназначается в приложениях, которые чувствительны к паузам сборки "мусора". Это выполняет большинство действия сборки "мусора" одновременно, то есть, в то время как потоки приложения работают, чтобы сохранить вызванные сборкой "мусора" паузы короткими. Ключевые улучшения производительности, сделанные к коллектору CMS в JDK 6, обрисовываются в общих чертах ниже. См. документы, на которые ссылаются ниже для более подробной информации об этих изменениях, коллекторе CMS, и сборке "мусора" в HotSpot.

Отметьте, что эти функции только применяются, когда коллектор CMS используется; опция -XX:+UseConcMarkSweepGC выбирает коллектор CMS.

System.gc () Выполняемый Одновременно

System.gc() и Runtime.getRuntime().gc() методы дают JVM команду выполнять сборщик "мусора", чтобы переработать неиспользованные объекты. Реализация HotSpot этих методов в настоящий момент останавливает все потоки приложения, чтобы собрать всю "кучу", которая может привести к длинной паузе особенно, когда "куча" является большой. Это работает против цели коллектора CMS сохранить паузы короткими.

В JDK 6, коллектор CMS может дополнительно выполнить эти наборы одновременно, чтобы избежать длинной паузы в ответ на a System.gc() или Runtime.getRuntime().gc() вызвать. Чтобы активировать эту опцию, добавьте опцию

-XX:+ExplicitGCInvokesConcurrent

к java командная строка.

Большее Значение по умолчанию Молодой Размер Генерации

Несколько изменений были произведены то увеличение размер значения по умолчанию молодой генерации, когда коллектор CMS используется:

Основной эффект этих изменений состоит в том, чтобы улучшить производительность приложения, уменьшая издержки сборки "мусора". Однако, потому что значение по умолчанию, молодой размер генерации больше, приложения, может также видеть большие молодые времена паузы генерации и больший объем потребляемой памяти. В случае необходимости, пожалуйста, см. документы, на которые ссылаются ниже для большего количества деталей о поколениях, пробелах оставшегося в живых и опциях, доступных для корректировки их размеров.

Параллельное отмечание

Коллектор CMS теперь использует многократные потоки, чтобы выполнить параллельную задачу маркировки параллельно на платформах с многократными процессорами. Это уменьшает продолжительность параллельного цикла маркировки, позволяя коллектор поддерживать приложения с большим числом потоков и более высоких объектных уровней выделения, особенно на больших многопроцессорных машинах. Предшествующие выпуски, используемые только единственный поток для параллельной маркировки, ограничивая возможность коллектора не отставать от приложений с очень высокими объектными уровнями выделения.

Больше информации

Отчет управления памятью HotSpot обеспечивает больше детали о коллекторе CMS и других коллекторах, доступных в HotSpot, так же как описаниях поколений, пробелов оставшегося в живых и других понятий управления памятью.

Страница документации HotSpot содержит ссылки к Настраивающим Руководствам по Сборке "мусора", определенным для каждого выпуска, которые включают направляющие линии для того, чтобы выбрать сборщик "мусора", что лучшие иски Ваше приложение и методы, которые могут помочь уменьшить издержки сборки "мусора".


Oracle и/или его филиалы Авторское право © 1993, 2012, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами