Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O Inicializador de Comandos do Azure para Java (jaz
) é um utilitário leve que simplifica como os desenvolvedores Java executam seus aplicativos no Azure.
Ao aplicar de forma inteligente sinalizadores JVM personalizados para ambientes de nuvem, ele reduz a sobrecarga de configuração e melhora a utilização de recursos desde o início, com maior potencial para melhor desempenho.
Essa ferramenta é ideal para desenvolvedores que:
- Deseja melhores padrões de JVM sem mergulhar profundamente em guias de ajuste
- Desenvolver e implantar microsserviços nativos de nuvem com estruturas como Spring Boot, Quarkus ou Micronaut
- Preferir fluxos de trabalho baseados em contêiner, como Kubernetes e OpenShift
- Implantar cargas de trabalho Java em Aplicativos de Contêiner do Azure, Serviço de Kubernetes do Azure, Red Hat OpenShift do Azure ou VMs do Azure
Principais características
- 🛠 Ajusta automaticamente sinalizadores JVM para implantações nativas de nuvem
-
🚀 Experiência de plug-and-play. Basta inserir no seu Dockerfile ou script de inicialização, substituindo o comando
java
porjaz
- ☁️ Otimizado para ambientes do Azure. Se você preferir
jaz
recomendações de configuração de JVM, remova todos os sinalizadores de ajuste JVM do inicializador de comandos existente - 🔧 Personalizável por meio de variáveis de ambiente
Visualização Privada
A ferramenta está disponível para download por clientes que solicitaram nossa Visualização Privada. Você pode enviar sua solicitação para ingressar na Visualização Privada.
Como funciona
jaz
fica entre o comando de inicialização de contêiner ou VM e a JVM. Ele vai:
- Detectar o ambiente de nuvem (por exemplo, limites de contêiner, memória disponível)
- Analisa o tipo de carga de trabalho e seleciona as opções de JVM mais adequadas
- Inicia o processo java com sinalizadores otimizados, como:
- Dimensionamento de heap
- Seleção e ajuste do GC
- Configurações de registro e diagnóstico conforme necessário
Exemplo de Uso
Em vez disso:
JAVA_OPTS="-XX:... several JVM tuning flags"
java $JAVA_OPTS -jar myapp.jar
Usar:
jaz -jar myapp.jar
Seu aplicativo pode se beneficiar automaticamente de:
- Padrões testados em batalha para cargas de trabalho nativas e de contêiner de nuvem
- Redução do desperdício de memória na nuvem
- Melhor desempenho de inicialização e aquecimento
Instalação
Durante a Prévia Privada, o software é distribuído como arquivo tar.gz
, com binários para x64 e arm64, e pode ser facilmente instalado em imagens de contêiner.
FROM mcr.microsoft.com/openjdk/jdk:21-ubuntu
# Install jaz
COPY jaz-versionstring.tar.gz /tmp/
RUN tar -xzf /tmp/jaz-versionstring.tar.gz -C / && mv /jaz*/jaz /usr/bin
# Add your application.jar
COPY application.jar /application.jar
CMD ["jaz", "-jar", "application.jar"]
Versões de JVM com suporte
jaz
dá suporte ao OpenJDK HotSpot JVM versões 8, 11, 17 e 21.
jaz
foi testado com a compilação Microsoft do OpenJDK e Eclipse Temurin.
Configuração
O comando jaz
só pode ser configurado usando variáveis de ambiente, já que qualquer argumento para jaz
deve estar em conformidade com o inicializador java
.
Variável de ambiente | Descrição |
---|---|
JAZ_HELP |
Configure para 1 exibir uma mensagem de ajuda. |
JAZ_PRINT_VERSION |
Defina para 1 imprimir a versão jaz para stdout e sair com o código 0. |
JAZ_DRY_RUN |
Defina para 1 imprimir o comando Java que seria executado e sair com código 1 . |
JAZ_BYPASS |
Configure como 1 para ignorar os ajustes de otimização jaz. Útil quando voltar para java é disruptivo, por exemplo, em ambientes em contêineres. Nenhum efeito na telemetria. |
JAZ_EXIT_WITHOUT_FLUSH |
Configure para 1 ignorar a descarga de telemetria na saída. Evita atrasos (até 30s) que o componente de software pode introduzir ao esvaziar dados. Ainda é possível enviar algumas telemetrias. |
JAZ_SKIP_PRINT_FLAGS_FINAL |
Defina 1 para pular -XX:+PrintFlagsFinal . Evita a varredura/armazenamento em buffer do stdout que Jaz faz para determinar os sinalizadores finais da JVM. |
JAZ_ALWAYS_FILTER_PRINT_FLAGS_FINAL_STDOUT |
Defina como 1 para sempre filtrar PrintFlagsFinal do stdout. Normalmente, o jaz filtra somente se detectar que o sinalizador foi passado. Será ignorado caso JAZ_SKIP_PRINT_FLAGS_FINAL esteja definido. |
Roteiro
- 📦 Pacotes do Linux (DEB/RPM) e imagens de contêiner
- ⚙️ Perfis de configuração de JVM
- 📦 Suporte ao AppCDS
- 📦 Suporte do Leyden
- 🔄 Ajuste contínuo
- 📊 Telemetria compartilhada por meio do Prometheus
Telemetria
O Iniciador de Comandos do Azure para Java coleta dados de uso e os envia à Microsoft para ajudar a melhorar nossos produtos e serviços. Leia a nossa política de privacidade para saber mais.