Definições da Java Virtual Machine

Utilize esta página para exibir e alterar a configuração da JVM (Java virtual machine) para o processo do servidor de aplicativos.

Para visualizar essa página do console administrativo, clique em Servidores > Servidores de Aplicativos > nome_do_servidor > Definição do Processo > Java Virtual Machine.

Guia Configuração

Classpath
Especifica o caminho da classe padrão no qual o código da Java virtual machine procurar por classes.

Digite cada entrada do classpath em uma linha da tabela. Não é necessário incluir os dois pontos ou ponto e vírgula no final de cada entrada.

Tipo de Dados String
Unidades Caminho da classe
Caminho da Classe de Inicialização
Especifica as classes e recursos de inicialização para o código da JVM. Esta opção está disponível somente para instruções da JVM que suportam classes e recursos de inicialização. Você pode separar vários caminhos com dois pontos (:) ou ponto-e-vírgula (;), dependendo do sistema operacional do nó.
Tipo de Dados String
Carregamento de Classe Verbose
Especifica se deve utilizar a saída de depuração verbose para carregamento de classe. O padrão é não ativar o carregamento de classe verbose.
Tipo de Dados Booleano
Padrão false
Coleta de Lixo Verbose
Especifica se deve utilizar a saída de depuração verbose para coleta de lixo. O padrão é não ativar a coleta de lixo verbose.
Tipo de Dados Booleano
Padrão false
Verbose JNI
Especifica se deve utilizar a saída de depuração verbose para chamada de método nativo. O padrão é não ativar a atividade verbose JNI (Java Native Interface).
Tipo de Dados Booleano
Padrão false
Tamanho Inicial de Heap
Especifica o tamanho de heap inicial disponível para o código de JVM, em megabytes.

O aumento do tamanho mínimo do heap pode melhorar a inicialização. Para o WebSphere Application Server, o número de ocorrências de coleta de lixo é reduzido e um ganho de 10% é obtido no desempenho.

Em geral, o aumento do tamanho do heap Java melhora o rendimento até que o heap não resida mais na memória física. Depois do heap iniciar a troca com o disco, o desempenho de Java sofre drasticamente.

Tipo de Dados Inteiro
Padrão Para o WebSphere Application Server para z/OS, o padrão para a região Controle é 48 e para a região Servant é 128. Para o WebSphere Application Server para iSeries, o padrão é 96. Para todas as outras plataformas, o padrão é 50.
Tamanho Máximo de Heap
Especifica o tamanho de heap máximo disponível para o código de JVM, em megabytes.

O aumento do tamanho do heap pode melhorar a inicialização. Para o WebSphere Application Server, aumentando o tamanho de heap, você pode reduzir o número de ocorrências de coleta de lixo com um ganho de 10% no desempenho.

Em geral, o aumento do tamanho do heap Java melhora o rendimento até que o heap não resida mais na memória física. Depois do heap iniciar a troca com o disco, o desempenho de Java sofre drasticamente. Defina o tamanho máximo do heap suficientemente baixo para conter o heap dentro da memória física.

Tipo de Dados Inteiro
Padrão 0 para o OS/400, 256 para todas as outras plataformas. Mantenha o valor baixo o suficiente para evitar paginação ou troca da memória para o disco.
Executar HProf
Especifica se deve utilizar o suporte ao criador de perfil HProf. Para utilizar outro criador de perfil, especifique as definições de criador de perfil personalizado através da definição Argumentos de HProf. O padrão é não ativar o suporte ao criador de perfil HProf.

Se você definir a propriedade Executar HProf para verdadeiro, então deverá especificar argumentos do criador de perfil da linha de comandos como valores para a propriedade Argumentos de HProf.

Tipo de Dados Booleano
Padrão false
Argumentos HProf
Especifica argumentos do criador de perfil da linha de comandos a serem transmitidos para o código de JVM que inicia o processo do servidor de aplicativos. Você pode especificar argumentos quando o suporte ao criador de perfil HProf está ativado.

Os argumentos HProf serão necessários somente se a propriedade Executar HProf estiver definida para verdadeiro.

Tipo de Dados String
Modo de Depuração
Especifica se a JVM deve ser executada no modo de depuração. O padrão é não ativar o suporte ao modo de depuração.

Se você definir a propriedade Modo de Depuração para verdadeiro, então deverá especificar argumentos de depuração da linha de comandos como valores para a propriedade Argumentos de Depuração.

Tipo de Dados Booleano
Padrão false
Argumentos de Depuração
Especifica argumentos de depuração da linha de comandos a serem transmitidos para o código de JVM que inicia o processo do servidor de aplicativos. Você pode especificar argumentos quando o Modo de Depuração está ativado.

Os argumentos de depuração serão necessários somente se a propriedade Modo de Depuração estiver definida para verdadeiro.Se você ativar a depuração em vários servidores de aplicativos no mesmo nó, certifique-se de que os servidores estejam utilizando diferentes argumentos address que definem a porta para depuração. Por exemplo, se você ativar a depuração em dois servidores e deixar a porta de depuração padrão para cada servidor como address=7777, os servidores podem não iniciar corretamente.

Tipo de Dados String
Unidades Argumentos da linha de comandos Java
Argumentos JVM Genéricos
Especifica argumentos da linha de comandos para transmitir à Java Virtual Machine código que inicie o processo do servidor de aplicativos.

A seguir são fornecidos argumentos opcionais da linha de comandos que podem ser utilizados através de sua inserção no campo Argumentos Gerais da JVM.

Nota: Se o argumento indicar que é apenas para o IBM Developer Kit, ele não poderá ser utilizado com outra JVM, como o Sun JDK ou o HP JDK.

  • -Xquickstart: Você pode utilizar -Xquickstart para a compilação inicial em um nível de otimização mais baixo do que no modo padrão. Posteriormente, dependendo dos resultados da amostragem, é possível recompilar para o nível da compilação inicial no modo padrão. Utilize -Xquickstart para aplicativos nos quais a velocidade moderada inicial é mais importante que um throughput a longo prazo. Em alguns cenários de depuração, limitações de testes e ferramentas de curta execução, é possível melhorar o tempo de inicialização entre 15 e 20%.

    A opção -Xquickstart não tem suporte no OS/400.

  • -Xverify:none: Ao utilizar esse valor, o estágio de verificação da classe é ignorado durante o carregamento da classe. Utilizando -Xverify:none com o compilador JIT (Just In Time) ativado, o tempo de inicialização é melhorado em 10-15%.

    A opção -Xverify:none não tem suporte no OS/400.

  • -Xnoclassgc: Esse valor pode ser utilizado para desativar a coleta de lixo da classe, o que leva a mais possibilidades de reutilização da classe e um desempenho levemente melhor. A compensação é que você não coletará os recursos de propriedade dessas classes. É possível monitorar a coleta de lixo utilizando a definição de configuração verbose:gc, cuja saída inclui estatísticas de coleta de lixo. Examinar essas estatísticas o ajuda a entender a compensação entre os recursos solicitados e a quantidade de coleta de lixo necessária para solicitar os recursos. No entanto, se o mesmo conjunto de classes for coletado repetidamente em sua carga de trabalho, desative a coleta de lixo. A coleta de lixo da classe fica ativada por padrão.
  • -Xgcthreads: É possível utilizar vários encadeamentos de coleta de lixo de uma só vez, também conhecida como coleta de lixo paralela. Ao inserir esse valor no campo Argumentos Genéricos da JVM, insira também o número de processadores que sua máquina possui, por exemplo, -Xgcthreads=number_of_processors. Em um nó com n processadores, o número padrão de encadeamentos é n. Se sua máquina tiver mais de um processador, utilize a coleta de lixo em paralelo. Esse argumento é válido somente para o IBM Developer Kit.

    A opção -Xgcthreads não tem suporte no OS/400.

  • -Xnocompactgc: Esse valor desativa a compactação do heap que é a operação mais dispendiosa da coleta de lixo. Evite a compactação no IBM Developer Kit. Se a compactação do heap for desativada, todo o código extra associado será eliminado.
  • -Xinitsh: Esse valor pode ser utilizado para definir o tamanho inicial do heap onde os objetos de classe são armazenados. As definições de método e os campos estáticos também são armazenados com os objetos de classe. Apesar do tamanho do heap do sistema não ter um limite superior, defina o tamanho inicial de forma que não seja necessário pagar o preço da expansão do tamanho do heap do sistema, o que envolve chamadas ao gerenciador de memória do sistema operacional. É possível calcular um tamanho inicial do heap do sistema sabendo o número de classes carregadas no produto WebSphere, que é aproximadamente 8.000 classes, e seu tamanho médio. Ter conhecimento sobre os aplicativos o ajuda a incluí-los no cálculo. Esse argumento pode ser utilizado somente com o IBM Developer Kit.
  • -Xgpolicy: Esse valor pode ser utilizado somente para definir o critério de coleta de lixo. Se o critério de coleta de lixo (gcpolicy) for definido como optavgpause, a marcação simultânea será utilizada para rastrear encadeamentos do aplicativo a partir da pilha, antes que o heap fique cheio. As pausas do coletor de lixo se tornam uniformes e as pausas longas não são aparentes. A contrapartida é rendimento reduzido porque os encadeamentos podem precisar fazer trabalho extra. O valor padrão recomendado é optthruput. Digite o valor como -Xgcpolicy:[optthruput|optavgpause].  Esse argumento pode ser utilizado somente com o IBM Developer Kit.
  • -XX: O JDK (Java Development Kit) com base em Sun tem coleta de lixo gerada, o que permite que conjuntos de memória separados contenham objetos com idades diferentes. O ciclo de coleta de lixo coleta os objetos de forma independente, de acordo com a idade. Com parâmetros adicionais, é possível definir o tamanho dos conjuntos de memória individualmente. Para melhorar o desempenho, defina o tamanho do conjunto que contém objetos de vida curta para que os objetos no conjunto não durem mais que um ciclo de coleta de lixo. O tamanho do novo conjunto de geração é determinado pelos parâmetros NewSize e MaxNewSize. Os objetos que sobrevivem ao primeiro ciclo de coleta de lixo são transferidos para outro conjunto. O tamanho do conjunto sobrevivente é determinado pelo parâmetro SurvivorRatio. Se a coleta de lixo tornar-se um gargalo, tente personalizar as definições do conjunto de geração. Para monitorar as estatísticas de coleta de lixo, utilize as estatísticas do objeto no Tivoli Performance Viewer ou a definição de configuração verbose:gc. Digite os seguintes valores: -XX:NewSize (limite inferior) , -XX:MaxNewSize (limite superior) e -XX:SurvivorRatio=NewRatioSize. Os valores padrão são: NewSize=2m MaxNewSize=32m SurvivorRatio=2 No entanto, se você tiver uma JVM com heap maior que 1 GB, utilize os valores: -XX:newSize=640m -XX:MaxNewSize=640m -XX:SurvivorRatio=16 ou defina 50 a 60% do tamanho total do heap para um novo conjunto de geração.

    A opção -XX não tem suporte no OS/400.

  • -server | -client: A Java HotSpot Technology no JDK (Java Development Kit) com base em Sun apresenta uma JVM adaptável contendo algoritmos para otimizar a execução de código de bytes com o tempo. A JVM é executada em dois modos, -server e -client. Se você utilizar o modo -client padrão, o tempo de inicialização será mais rápido e a utilização de memória será menor, mas o desempenho estendido será mais baixo. Para melhorar o desempenho, utilize o modo -server, se houver tempo suficiente para que o JVM HotSpot seja aquecido, por meio da execução contínua de código de bytes. Na maioria dos casos, utilize o modo -server, que produz execução mais eficiente no tempo de execução por períodos longos. É possível monitorar o tamanho do processo e o tempo de inicialização do servidor para verificar a diferença entre -client e -server.

    A opção -server | -client não tem suporte no OS/400.

Tipo de Dados String
Unidades Argumentos da linha de comandos Java
Nome do Arquivo JAR Executável
Especifica o nome completo do caminho para um arquivo JAR executável utilizado pelo código de JVM.
Tipo de Dados String
Unidades Nome do Caminho
Desativar JIT
Especifica se a opção do compilador JIT (Just In Time) deve ser desativada no código da JVM.

Se o compilador JIT for desativado, o throughput será reduzido ostensivamente. Assim, por questões de desempenho, mantenha o JIT ativado.

Tipo de Dados Booleano
Padrão false (JIT ativado)
Recomendado JIT ativado
Nome do Sistema Operacional
Especifica definições da JVM para um determinado sistema operacional. Quando iniciado, o processo utilizar as definições de JVM para o sistema operacional do nó.
Tipo de Dados String

Informações relacionadas

Botões do console administrativo
Recursos de páginas do console administrativo
Coleta de Propriedades Personalizadas