Como modificar configurações de memória do Java

Dependendo do tráfego e dos requisitos de processamento, pode ser necessário alterar a memória da pilha tamanho ou tamanho dos metadados da classe para seus nós que executam uma nuvem privada baseada em Java componentes de solução.

Esta seção fornece os tamanhos de memória de heap Java padrão e recomendados, bem como como o processo de alteração dos padrões. Por fim, esta seção descreve como alterar outras Configurações do JVM usando arquivos de propriedades.

Tamanhos de memória de heap padrão e recomendados

A tabela a seguir lista os tamanhos de memória heap padrão e recomendados para Java Componentes da nuvem privada:

Componente Nome do arquivo das propriedades Padrão
Tamanho do heap
Recomendado
Tamanho do heap
Ambiente de execução
Cassandra N/A Configurado automaticamente1 Configurado automaticamente1
processador de mensagens message‑processor.properties 512 MB 3GB - 6GB2
Roteador router.properties 512 MB 512 MB
Google Analytics
Servidor Postgres postgres‑server.properties 512 MB 512 MB
Servidor Qpid qpid‑server.properties 512 MB 2 GB a 4 GB
Administração
Servidor de gerenciamento management‑server.properties 512 MB 512 MB
Interface ui.properties 512 MB 512 MB
OpenLDAP N/A App nativo3 App nativo3
Zookeeper zookeeper.properties 2.048 MB 2.048 MB
Observações

1 O Cassandra calcula dinamicamente o tamanho máximo da heap quando ele é iniciado. Atualmente, isso é metade da memória total do sistema, com um máximo de 8.192 MB. Para mais informações sobre como configurar o tamanho de heap, consulte Alterar o heap tamanho da memória.

2 Para processadores de mensagens, a Apigee recomenda que você defina o heap. de 3 a 6 GB. Aumente o tamanho de heap além de 6 GB somente depois de realizar e testes de desempenho.

Se o uso de heap se aproximar do limite máximo durante seu teste de desempenho, aumente o limite máximo. Para mais informações sobre como definir o tamanho de heap, consulte Altere o tamanho da memória de heap.

3 Nem todos os componentes da nuvem privada são implementados em Java. Devido ao não são baseados em Java, os aplicativos executados nativamente na plataforma host não têm tamanhos de heap Java configuráveis; Eles dependem do sistema host para memória de projetos.

Para determinar a quantidade total de memória que a Apigee recomenda que você aloque para seus servidores componentes em um nó, adicione os valores listados acima para cada componente nesse nó. Por exemplo, se seu nó hospeda os servidores Postgres e Qpid, a Apigee recomenda que sua memória combinada ser de 2,5 GB a 4,5 GB.

Para ver a lista de hardwares necessários (como RAM), consulte Requisitos de instalação.

Alterar tamanhos de memória de heap

Para alterar as configurações de memória de heap, edite o arquivo de propriedades do componente. Por exemplo, para o processador de mensagens, edite /opt/apigee/customer/application/message-processor.properties.

Se o arquivo message-processor.properties não existe ou se o arquivo .properties correspondente para qualquer componente Edge existir não existir, crie-o e altere a propriedade do arquivo para "apigee" usuário, conforme o seguinte: exemplo mostra:

chown apigee:apigee /opt/apigee/customer/application/message-processor.properties

Se o componente estiver instalado em várias máquinas, como o processador de mensagens, precisa editar o arquivo de propriedades em todas as máquinas que hospedam o componente.

A tabela a seguir lista as propriedades que podem ser editadas para alterar os tamanhos de heap:

Propriedade Descrição
bin_setenv_min_mem

O tamanho mínimo de heap. O padrão é baseado nos valores listados em Tamanhos de memória de heap padrão e recomendados.

Essa configuração corresponde à opção -Xms do Java.

bin_setenv_max_mem

O tamanho máximo da pilha. O padrão é baseado nos valores listados em Tamanhos de memória de heap padrão e recomendados.

Essa configuração corresponde à opção -Xmx do Java.

bin_setenv_meta_space_size

O tamanho padrão dos metadados da classe. O valor padrão é definido como o valor de bin_setenv_max_permsize, que tem o padrão de 128 MB. No processador de mensagens, A Apigee recomenda que você defina esse valor como 256 MB ou 512 MB, dependendo do seu do tráfego de entrada.

Essa configuração corresponde à opção -XX:MetaspaceSize do Java.

Ao definir propriedades de tamanho de heap em um nó, use o "m" para indicar megabytes, como o o exemplo a seguir mostra:

bin_setenv_min_mem=4500m
bin_setenv_max_mem=4500m
bin_setenv_meta_space_size=1024m

Depois de definir os valores no arquivo de propriedades, reinicie o componente:

/opt/apigee/apigee-service/bin/apigee-service component restart

Exemplo:

/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

Alterar outras propriedades da JVM

Para configurações do Java não controladas pelas propriedades listadas acima, também é possível definir o a seguir no arquivo de propriedades correspondente para qualquer componente do Edge:

  • bin_setenv_ext_jvm_opts: define qualquer Java não especificada por outras propriedades. Exemplo:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    No entanto, não use bin_setenv_ext_jvm_opts para defina -Xms, -Xmx ou -XX:MetaspaceSize, pois esses valores são controladas pelas propriedades listadas acima.

Para mais dicas sobre como configurar a memória para componentes de nuvem privada, consulte este do Google nos fóruns do Edge.