Платформа: Linux
Архитектура: x86_64
Пожалуйста, опишите проблему, с которой вы столкнулись с нашими двоичными файлами, и, если возможно, как ее воссоздать.
Сборка AdoptOpenJDK 11.0.9, похоже, не включает сборщик мусора Shenandoah.
Должен ли он включать сборщик мусора?
Согласно вики OpenJDK, он должен быть в основных сборках:
_В основных сборках OpenJDK 11u начиная с 11.0.9._
Вот что происходит при попытке включить сборщик мусора в версии 11.0.9:
~ % docker run -it openjdk:11-jre-buster
root<strong i="17">@6e987dc384f8</strong>:/# java -version
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment 18.9 (build 11.0.9+11)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11, mixed mode)
root<strong i="18">@6e987dc384f8</strong>:/# java -XX:+UseShenandoahGC -Xlog:gc -version
Unrecognized VM option 'UseShenandoahGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Кажется, он доступен в сборке Zulu OpenJDK 11.0.9 + 11:
~ % java -XX:+UseShenandoahGC -Xlog:gc -version
[0.005s][info][gc] Heuristics ergonomically sets -XX:+ExplicitGCInvokesConcurrent
[0.005s][info][gc] Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent
[0.005s][info][gc] Using Shenandoah
openjdk version "11.0.9" 2020-10-20 LTS
OpenJDK Runtime Environment Zulu11.43+21-CA (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM Zulu11.43+21-CA (build 11.0.9+11-LTS, mixed mode)
[0.052s][info][gc] Cancelling GC: Stopping VM
Сборка AdoptOpenJDK 11.0.9, похоже, не включает сборщик мусора Shenandoah.
Дерьмо.
Должен ли он включать сборщик мусора?
Да, см. Https://github.com/AdoptOpenJDK/openjdk-build/pull/2125.
Без какого-либо Докера между ними:
jdk-11.0.9+11/bin/java -XX:+UseShenandoahGC -Xlog:gc -version
Unrecognized VM option 'UseShenandoahGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
root<strong i="13">@bb000aee1f7d</strong>:/# jdk-11.0.9+11/bin/java -version
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9+11)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9+11, mixed mode)
Спасибо, что сообщили об этом @ marko-asplund 🥇
Спасибо, что сообщили об этом @ marko-asplund 🥇
Спасибо за вашу работу в проекте AdoptOpenJDK! 🙇 👍
Выполняются обновления и, похоже, они работают:
[sxa<strong i="6">@sainz</strong> bin]$ ./java -XX:+UseShenandoahGC -Xlog:gc -version
[0.014s][info][gc] Heuristics ergonomically sets -XX:+ExplicitGCInvokesConcurrent
[0.014s][info][gc] Heuristics ergonomically sets -XX:+ShenandoahImplicitGCInvokesConcurrent
[0.017s][info][gc] Using Shenandoah
openjdk version "11.0.9" 2020-10-20
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9+11)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9+11, mixed mode)
[0.112s][info][gc] Cancelling GC: Stopping VM
[sxa<strong i="7">@sainz</strong> bin]$
Сборки с поддержкой Shenandoah представлены на веб-сайте как jdk-11.0.9 + 11.1 для соответствующих платформ.
Отлично - спасибо! 🚀 🙌 👍
@sxa Еще раз спасибо! 👍
Кстати, вы, ребята, тоже выпускаете официальные образы докеров accepttopenjdk?
Было бы здорово получить вариант adoptopenjdk:11-jre-hotspot
с 11.0.9 и Shenandoah.
Мы их делаем. Всегда занимает больше времени, потому что требует сотрудничества с внешними организациями. PR есть: https://github.com/docker-library/official-images/pull/8953
Да - произошла небольшая задержка, так как некоторые модификации должны были быть внесены для обработки некоторых платформ докеров с выпуском .1
а не других, поэтому они обязательно будут доступны!
Самый полезный комментарий
Спасибо за вашу работу в проекте AdoptOpenJDK! 🙇 👍