Modifica delle impostazioni della memoria Java

A seconda dei requisiti di traffico ed elaborazione, potrebbe essere necessario modificare le dimensioni della memoria heap o dei metadati della classe per i nodi che eseguono componenti Private Cloud basati su Java.

Questa sezione fornisce le dimensioni predefinite e consigliate della memoria heap Java, nonché la procedura per modificare i valori predefiniti. Infine, questa sezione descrive come modificare altre impostazioni JVM utilizzando i file delle proprietà.

Dimensioni della memoria heap predefinite e consigliate

La seguente tabella elenca le dimensioni della memoria heap Java predefinite e consigliate per i componenti Private Cloud basati su Java:

Componente Nome file delle proprietà Predefinita
Dimensione heap
Consigliate
Dimensioni heap
Durata
Cassandra n/d Configurazione automatica1 Configurazione automatica1
processore di messaggi message-processor.properties 512 MB 3 - 6 GB2
Router router.properties 512 MB 512 MB
Analytics
Server Postgres postgres-server.properties 512 MB 512 MB
Server Qpid qpid-server.properties 512 MB 2GB - 4GB
Gestione
Server di gestione management-server.properties 512 MB 512 MB
UI ui.properties 512 MB 512 MB
OpenLDAP n/d App nativa3 App nativa3
Zookeeper zookeeper.properties 2048 MB 2048 MB
Note

1 Cassandra calcola in modo dinamico la dimensione heap massima all'avvio. Attualmente, si tratta della metà della memoria di sistema totale, con un massimo di 8192 MB. Per informazioni sull'impostazione della dimensione heap, consulta Modificare le dimensioni della memoria heap.

2 Per i processori di messaggi, Apigee consiglia di impostare la dimensione dello heap su un valore compreso tra 3 GB e 6 GB. Aumenta la dimensione dello heap oltre i 6 GB solo dopo aver eseguito test delle prestazioni.

Se l'utilizzo dello heap si avvicina al limite massimo durante i test delle prestazioni, aumenta il limite massimo. Per informazioni sull'impostazione della dimensione heap, consulta Modificare le dimensioni della memoria heap.

3 Non tutti i componenti del cloud privato sono implementati in Java. Poiché non sono basate su Java, le app eseguite in modo nativo sulla piattaforma host non dispongono di dimensioni heap Java configurabili, ma si basano sul sistema host per la gestione della memoria.

Per determinare la quantità di memoria totale consigliata da Apigee di allocare ai componenti basati su Java su un nodo, aggiungi i valori elencati sopra per ciascun componente su quel nodo. Ad esempio, se il tuo nodo ospita entrambi i server Postgres e Qpid, Apigee consiglia che l'allocazione combinata della memoria sia compresa tra 2,5 GB e 4,5 GB.

Per un elenco dell'hardware necessario (ad esempio la RAM), vedi Requisiti di installazione.

Modifica dimensioni memoria heap

Per modificare le impostazioni della memoria heap, modifica il file delle proprietà del componente. Ad esempio, per il processore di messaggi, modifica il file /opt/apigee/customer/application/message-processor.properties.

Se il file message-processor.properties non esiste o se il file .properties corrispondente per qualsiasi componente Edge non esiste, crealo e cambia la proprietà del file all'utente "apigee", come mostrato nel seguente esempio:

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

Se il componente è installato su più computer, ad esempio il processore di messaggi, devi modificare il file delle proprietà su tutte le macchine che lo ospitano.

Nella tabella seguente sono elencate le proprietà modificate per cambiare le dimensioni dell'heap:

Proprietà Descrizione
bin_setenv_min_mem

La dimensione minima dello heap. L'impostazione predefinita si basa sui valori elencati in Dimensioni memoria heap predefinite e consigliate.

Questa impostazione corrisponde all'opzione -Xms di Java.

bin_setenv_max_mem

La dimensione massima dello heap. L'impostazione predefinita si basa sui valori elencati in Dimensioni memoria heap predefinite e consigliate.

Questa impostazione corrisponde all'opzione -Xmx di Java.

bin_setenv_meta_space_size

La dimensione predefinita dei metadati della classe. Il valore predefinito è impostato sul valore di bin_setenv_max_permsize, che è 128 MB. Sul processore di messaggi, Apigee consiglia di impostare questo valore su 256 MB o 512 MB, a seconda del traffico.

Questa impostazione corrisponde all'opzione -XX:MetaspaceSize di Java.

Quando imposti le proprietà delle dimensioni dello heap su un nodo, utilizza il suffisso "m" per indicare i megabyte, come illustrato nell'esempio seguente:

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

Dopo aver impostato i valori nel file delle proprietà, riavvia il componente:

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

Ad esempio:

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

Modificare altre proprietà JVM

Per le impostazioni Java non controllate dalle proprietà elencate sopra, puoi anche impostare quanto segue nel file delle proprietà corrispondente per qualsiasi componente Edge:

  • bin_setenv_ext_jvm_opts: imposta qualsiasi proprietà Java non specificata da altre proprietà. Ad esempio:
    bin_setenv_ext_jvm_opts=-XX:MaxGCPauseMillis=500

    Tuttavia, non utilizzare bin_setenv_ext_jvm_opts per impostare -Xms, -Xmx o -XX:MetaspaceSize, poiché questi valori sono controllati dalle proprietà elencate sopra.

Per ulteriori suggerimenti sulla configurazione della memoria per i componenti del cloud privato, consulta questo articolo nei forum Edge.