Кто-либо нашел, что Сборка "мусора", настраивающаяся, полезна?

Нет, селектор «предыдущего сиблинга» отсутствует.

В соответствующей заметке ~ используется для общего брака-последователя (это означает, что элемент появляется после этого, но не обязательно сразу после) и является селектором CSS3. + для следующего родного брата и является CSS2.1.

См. Комбинированный смежный блок-класс из Селектора уровня 3 и 5.7 Смежные селекторные ролики из Каскадные таблицы стилей Уровень 2 Редакция 1 (CSS 2.1) Спецификация .

21
задан Fortyrunner 8 March 2009 в 17:27
поделиться

6 ответов

Часть моего текущего задания является уходом и питанием большого JAVA-приложения, которое было разработано для выполнения с большим объемом памяти (в настоящее время приблизительно 8 Гбит), главным образом из-за продолжающихся вычислений с большим количеством кэшированных данных. Я сделал начальное развертывание со стандартной установкой GC, главным образом потому что не было простого способа моделировать продуктивную среду, работающую изо всех сил.

Шаг за шагом, за следующие несколько месяцев, я настроил настройки GC. Обычно самая большая доступная кнопка, кажется, корректирует частоту и величину возрастающего gc - самое большое улучшение было в обменивании крупного периодического gc для меньших и более частых. Но мы определенно были в состоянии видеть повышения производительности.

я не собираюсь отправлять свои определенные настройки потому что a) они характерны для нашей установки и b) потому что у меня нет их удобными:). Но в целом, то, что я нашел,

  • была большая работа, сделанная в настройке настроек gc по умолчанию. Почти всегда значения по умолчанию работают лучше, чем какие-либо тонкие настройки, которые я сделал бы.
  • , По крайней мере, для меня, ситуации, где gc, настраивающийся, на самом деле стоил, были достаточно экстремальным значением, что было неблагоразумно попытаться моделировать их, таким образом, я должен был сделать это экспериментально и инкрементно.

Вот хорошая ссылка из предыдущего stackoverflow обсуждения.

20
ответ дан 29 November 2019 в 20:17
поделиться

Подавляющее большинство разработчиков никогда не будет иметь к (или хотеть к), GC мелодии. Я работал с людьми, которые должны были настроить его, и вот совет:

, Прежде чем Вы попытаетесь настроить сборщик "мусора", делают 100% уверенными, что Вы проверили с профилировщиком. что продолжается. Как только Вы начинаете настраиваться, удостоверяются, что Вы проверяете с профилировщиком, что это имело положительное влияние.

необходимо также пересмотреть изменения с каждой версией VM, на котором Вы работаете (другой VMs будет иметь различные настраивающие стратегии).

я когда-то помог кому-то с проблемой GC, которая оказалась ими не закрывающий наборы результатов JDBC (или некоторая проблема как этот). Эта вызванная память, которая никогда не будет освобождаться (его код, сохраненный на них по некоторым причинам). Устранение той проблемы заставило программу перейти с 20 минут к чему-то как 30 секунд или несколько минут. Использование памяти пошло путем вниз также.

10
ответ дан 29 November 2019 в 20:17
поделиться

Я должен сказать, что у меня не было потребности самого для использования настройки очень. Но я работаю в тесном сотрудничестве с людьми, которые пишут код, где задержка очень важна: они очень используют такую настройку - определение, какой алгоритм GC использовать, макс. времена паузы, отношения оставшегося в живых и т.д.

я предполагаю, что ответ поэтому: , если задержка очень важна для приложения, Вы, возможно, должны были бы посмотреть на настройку Вашего GC

8
ответ дан 29 November 2019 в 20:17
поделиться

Я сказал бы, что наиболее распространенной вещью настроиться является максимальная емкость памяти. Большинство других параметров памяти имеет разумные значения по умолчанию и часто по настроенному, по моему скромному мнению. т.е. Набор, когда это действительно не имеет большого значения. Я часто вижу, что люди устанавливают много опций, когда половина из них является значением по умолчанию в любом случае.;)

Используя профилировщика самый полезный способ улучшить поведение GC (путем сокращения количества созданных объектов)

3
ответ дан 29 November 2019 в 20:17
поделиться

Я имею, но не недавно. Приложение, что я продолжал работать, было рендерингом в реальном времени видеопотока, созданного из отдельных изображений JPEG движения. В то время (приблизительно JDK 1.2 и 1.3), -Xincgc установка переключила бы клиентский сборщик "мусора" от большего количества очистки большого взрыва до режима, где немного мусора регулярно очищалось. В результате распределение задержек кадра было намного ниже, произведя впечатление более гладкого видео (вместо 1-2-3-pause, 1-2-3-pause).

я не посмотрел на тот код в довольно долгое время, но я сильно подозреваю, что, с современными алгоритмами сборки "мусора", -Xincgc на самом деле уменьшил бы производительность.

В современном мире, я сказал бы, что стандартный скептицизм оптимизации должен всегда применяться: представьте профиль профиля. Вы уверены, что узкое место является действительно сборщиком "мусора"...?

3
ответ дан 29 November 2019 в 20:17
поделиться

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

2
ответ дан 29 November 2019 в 20:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: