Compartilhar via


Perguntas frequentes sobre o Iniciador de Comandos do Azure para Java (versão prévia pública)

Fornece respostas para perguntas comuns sobre o Iniciador de Comandos do Azure para Java.

Como essa ferramenta é diferente do comando java?

O java comando executa a JVM do HotSpot (Máquina Virtual Java) com configurações padrão, a menos que explicitamente configurada pelo usuário. jaz é um componente do Iniciador de Comandos do Azure para Java que executa java com configurações de tuning da JVM amplamente testadas e otimizadas para a nuvem, projetadas para melhorar o desempenho e a eficiência de custos em VMs e contêineres do Azure.

Principal benefício: os desenvolvedores não precisam ajustar manualmente a JVM. jaz faz isso por eles.

O que acontece se eu já definir algumas opções de JVM em meu ambiente?

Se a carga de trabalho incluir sinalizadores de ajuste JVM, o jaz comando não aplicará seus próprios padrões de ajuste. jaz java é iniciado com os sinalizadores escolhidos.

É recomendável remover os sinalizadores de ajuste da carga de trabalho e permitir que o Iniciador de Comandos do Azure para Java aplique o seu próprio.

Você também pode configurar jaz para ignorar os sinalizadores de ajuste e usar seus padrões de ajuste. Considere usar essa configuração para validar jaz com uma alteração mínima na configuração da carga de trabalho. Para fazer isso, defina a seguinte variável de ambiente:

export JAZ_IGNORE_USER_TUNING=1

A configuração de ajuste de ignorar usuário se aplica a argumentos de linha de comando, variáveis de ambiente lidas por javae @-files.

Você também pode configurar jaz para ignorar todos os seus padrões de ajuste definindo a seguinte variável de ambiente:

export JAZ_BYPASS=1

A opção de bypass permite que você adote o Inicializador de Comandos do Azure para Java sem afetar o ajuste atual, mesmo que sua carga de trabalho utilize o comportamento padrão do comando java. Esse comportamento pode ser útil para validar o comportamento da ferramenta antes de limpar sinalizadores de ajuste JVM.

Também pode ser útil ignorar o ajuste ao solucionar um problema que parece estar relacionado ao ajuste de JVM.

Quais opções de JVM são consideradas opções de ajuste?

O jaz comando considera a maioria dos sinalizadores que começam com -X ou -XX como um sinalizador de ajuste, como -Xmx<size>. Um exemplo notável de um sinalizador que começa com -X , mas não é um sinalizador de ajuste é -Xlog:<opts>.

Mais precisamente, cada opção JVM é avaliada usando a lógica na lista a seguir. Esta lista descreve a lógica na versão mais recente do Iniciador de Comandos do Azure para Java.

  1. Se a opção começar com qualquer texto diferente do que -X, então não é um sinalizador de ajuste.
  2. Se a opção corresponder a qualquer uma dessas expressões regulares, não será um sinalizador de ajuste:
    • ^-Xlog.+$
    • ^-XX:ErrorFile=.*$
    • ^-XX:[+-]?HeapDump.*$
    • ^-XX:[+-].*OnOutOfMemoryError$
  3. Caso contrário, a opção é um indicador de configuração.

Quando jaz busca sinalizadores de ajuste, ele examina os argumentos passados para ele e as variáveis de ambiente que java leem automaticamente. As variáveis de ambiente são:

  • Java 8: JAVA_TOOL_OPTIONS, _JAVA_OPTIONS
  • Java 9 e posterior: JAVA_TOOL_OPTIONS, , JDK_JAVA_OPTIONS_JAVA_OPTIONS

jaz também manipula @-files, também conhecidos como arquivos de argumento de linha de comando.

Posso passar sinalizadores de agente java ao usar a ferramenta?

Yes. Você ainda pode passar -javaagent e outras bandeiras que não estão ajustando bandeiras, e jaz as honra. Você pode manter sinalizadores de diagnóstico úteis, como:

  • -Xlog para registro em log
  • -javaagent para Application Insights ou outros agentes de instrumentação do APM (Application Performance Monitoring)

A ferramenta é compatível com ambientes que não são do Azure?

jaz é projetado e testado principalmente para Contêineres e Máquinas Virtuais do Azure, mas tecnicamente pode ser executado em outro lugar. No entanto, algumas otimizações avançadas e recursos futuros podem ser específicos do Azure.

A ferramenta está disponível para o Windows Server?

jaz atualmente está disponível para o Linux em ambientes x64 e arm64. Se você tiver uma necessidade imediata do Windows Server, entre em contato conosco em openjdk-support@microsoft.com

O Iniciador de Comandos do Azure para Java foi testado e certificado apenas com instalações completas do JDK. Pode não funcionar corretamente com:

  • Instalações do JRE (Java Runtime Environment)
  • Ambientes de execução de jlink personalizados

As instalações completas do JDK incluem todas as ferramentas e bibliotecas que jaz precisam funcionar corretamente. Os runtimes personalizados de JRE e jlink podem não conter alguns desses componentes, o que pode impedir que jaz funcione conforme esperado.

Se você precisar usar jaz, verifique se está executando uma instalação completa do JDK de um build baseado em OpenJDK com suporte.