Impostazioni JVM (Java Virtual Machine)

Questa pagina consente di visualizzare e modificare le impostazioni di configurazione JVM (Java Virtual Machine) di un processo per un server delle applicazioni.

Per visualizzare questa pagina della console di gestione, collegarsi alla console di gestione e navigare nel pannello della JVM (Java Virtual Machine).

[AIX Solaris HP-UX Linux Windows] [iSeries] Per le piatteforme distribuite e i5/OS, fare clic su Server > Tipo di server > WebSphere Application Server > nome_server. Quindi, nella sezione Infrastruttura server, fare clic su Gestione processo e Java > Definizione processo > Java Virtual Machine

[z/OS] Per la piattaforma z/OS seguire uno dei seguenti percorsi.
Server delle applicazioni Fare clic su Server > Tipi di server > WebSphere Application Server > nome_server. Quindi, nella sezione Infrastruttura server, fare clic su Gestione processo e Java > Definizione processo > Controllo > Java Virtual Machine
Gestore distribuzione Fare clic su Amministrazione di sistema > Gestore distribuzione. Quindi, nella sezione Infrastruttura server, fare clic su Gestione processo e Java > Definizione processo > Controllo > Java Virtual Machine
Agent del nodo Fare clic su Amministrazione di sistema > Agent del nodo > agent_nodo. Quindi, nella sezione Infrastruttura server, fare clic su Gestione processo e Java > Definizione processo > Java Virtual Machine
[AIX Solaris HP-UX Linux Windows] [iSeries] Per le piattaforme distribuite e i5/OS, seguire uno dei seguenti percorsi.
Server delle applicazioni Server > Tipi di server > WebSphere Application Server > nome_server. Quindi, nella sezione Infrastruttura server, fare clic su Gestione processo e Java > Definizione processo > Java Virtual Machine
Gestore distribuzione Amministrazione di sistema > Gestore distribuzione. Quindi, nella sezione Infrastruttura server, fare clic su Gestione processo e Java > Definizione processo > Java Virtual Machine
Agent del nodo Amministrazione di sistema > Agent del nodo > agent_nodo. Quindi, nella sezione Infrastruttura server, fare clic su Gestione processo e Java > Definizione processo > Java Virtual Machine
Percorso di classe

Specifica il percorso di classe standard in cui il codice Java Virtual Machine ricerca le classi.

Per aggiungere un percorso di classe a questo campo, immettere ciascuna voce del percorso di classe in una distina riga della tabella. Non è necessario aggiungere i due punti o il punto e virgola alla fine di ogni voce.

Gli unici percorsi di classe che devono essere aggiunti a questo campo sono quelli che specificano la posizione dei seguenti elementi:
  • Uno strumento di controllo o monitoraggio del sistema.
  • I file JAR per un prodotto in esecuzione nella parte superiore di questo prodotto.
  • I patch o le correzioni di diagnostica JVM.
Potrebbero verificarsi degli errori di elaborazione se si aggiungono percorsi di classe questo campo che specifica la posizione dei seguenti elementi:
  • File JAR per provider di risorse, quale DB2. I percorsi per questi file JAR devono essere aggliunti ai percorsi di classe del provider principale.
  • In file JAR utente utilizzato da una o più delle applicazioni in esecuzione nel prodotto. Il percorso per questo tipo di file JAR deve essere specificato all'interno di ciascuna applicazione che richiede quel file JAR o in librerie condivise associate al server.
  • Un file JAR di estensione. Per aggiungere un file JAR di estensione al sistema, occorre utilizzare la proprietà personalizzata JVM ws.ext.dirs per specificare il percoso assoluto per questo file JAR. Inoltre è possibile posizionare il file JAR nella directory WAS_HOME/lib/ext/, ma l'utilizzo della proprietà personalizzata JVM ws.ext.dirs è consiglilato per specificare il percorso a un JAR di estensione.
Tipo dati String
Classpath boot

Specifica le risorse e le classi bootstrap del codice JVM. Questa opzione è disponibile solo per le istruzioni JVM che supportano le risorse e le classi bootstrap.

Per aggiungere un percorso di classe a questo campo, immettere ciascuna voce del percorso di classe in una riga della tabella. Non è necessario aggiungere i due punti o il punto e virgola alla fine di ogni voce.

Per aggiungere più percorsi di classe a questo campo, è possibile utilizzare due punti (:) o punto e virgola (;), a seconda del sistema operativo in cui risiede JVM, per separare questi percorsi di classe.

Per aggiungere più percorsi di classe a questo campo, è possibile utilizzare due punti (:) o punto e virgola (;), a seconda del sistema operativo in cui risiede il nodo, per separare questi percorsi di classe.

Gli unici percorsi di classe che devono essere aggiunti a questo campo sono quelli che specificano la posizione dei seguenti elementi:
  • Uno strumento di controllo o monitoraggio del sistema.
  • I file JAR per un prodotto in esecuzione nella parte superiore di questo prodotto.
  • I patch o le correzioni di diagnostica JVM.
Potrebbero verificarsi degli errori di elaborazione se si aggiungono percorsi di classe questo campo che specifica la posizione dei seguenti elementi:
  • File JAR per provider di risorse, quale DB2. I percorsi per questi file JAR devono essere aggliunti ai percorsi di classe del provider principale.
  • In file JAR utente utilizzato da una o più delle applicazioni in esecuzione nel prodotto. Il percorso per questo tipo di file JAR deve essere specificato all'interno di ciascuna applicazione che richiede quel file JAR o in librerie condivise associate al server.
  • Un file JAR di estensione. Per aggiungere un file JAR di estensione al sistema, occorre utilizzare la proprietà personalizzata JVM ws.ext.dirs per specificare il percoso assoluto per questo file JAR. Inoltre è possibile posizionare il file JAR nella directory WAS_HOME/lib/ext/, ma l'utilizzo della proprietà personalizzata JVM ws.ext.dirs è consiglilato per specificare il percorso a un JAR di estensione.
Caricamento classe Verbose

Specifica se utilizzare o meno l'output di debug verbose per il caricamento della classe. Il valore predefinito è quello di non abilitare il caricamento della classe verbose.

[AIX Solaris HP-UX Linux Windows] Se il caricamento della classe verbose è abilitato, l'output di debug viene inviato a uno dei log di processo nativi.

Tipo dati Booleano
Valore predefinito false
Raccolta raccolta dati obsoleta verbose

Specifica se utilizzare l'output di debug verbose per la raccolta dati obsoleta. Il valore predefinito è quello di non abilitare la raccolta dati obsoleta di modalità verbose.

[AIX Solaris HP-UX Linux Windows] Se la raccolta dati obsoleta verbose è abilitata, l'output di debug viene inviato a uno dei log di processo nativi.

,

Tipo dati Booleano
Valore predefinito false

Quando questo campo è abilitato, viene scritto un report nel flusso di output ogni volta che viene eseguito il programma di raccolta dei dati non utilizzati. Questo report fornisce un'idea di quanto succede con il programma di raccolta dati obsoleta Java.

È possibile verificare il report verboseGC per determinare:
  • L'intervallo di tempo che impiega JVM per effettuare la raccolta dati obsoleta.
    Idealmente, JVM impiega meno del 5% del tempo di elaborazione per effettuare la raccolta dati obsoleta. Per determinare la percentuale di tempo impiegata da JVM nella raccolta dati obsoleta, dividere il tempo impiegato per completare la raccolta per il tempo trascorso dall'ultimo AF e moltiplicare il risultato per 100. Ad esempio,
    83,29/3724,32 * 100 = 2,236%
    
    

    Se il tempo impiegato dall'operazione è superiore al 5% e se la raccolta dati obsoleta avviene di frequente, potrebbe essere necessario aumentare la dimensione heap Java.

  • Se l'heap assegnato aumenta con ciascuna ricorrenza della raccolta dati obsoleta.

    Per determinare l'aumento dell'heap assegnato, visualizzare la percentuale dell'heap che resta non assegnata dopo ogni ciclo di raccolta dati obsoleta e verificare che la percentuale non continui a diminuire. Se la percentuale dello spazio libero continua a diminuire potrà verificarsi una graduale crescita nell'heap assegnato dalla raccolta dati obsoleta alla raccolta dati obsoleta. Tale situazione potrebbe indicare che l'applicazione presenta un errore di rilascio della memoria.

[z/OS] Sulla piattaforma z/OS, è possibile anche immettere il comando di console MVS, modify display, jvmheap, per visualizzare le informazioni sull'heap JVM. Inoltre, è possibile controllare i record SMF intervallo e attività del server. La dimensione heap JVM è inoltre resa disponibile a PMI e può essere monitorata utilizzando il Visualizzatore prestazioni Tivoli (TVP, Tivoli Performance Viewer).

JNI verbose

Specifica se utilizzare o meno l'output di debug verbose per il richiamo del metodo di origine. Il valore predefinito è quello di non abilitare l'attività JNI (Java Native Interface) verbose.

Tipo dati Booleano
Valore predefinito false
Dimensione iniziale dell'heap

Specifica, in megabyte, la dimensione heap iniziale disponibile per il codice JVM. Se questo campo viene lasciato vuoto, viene usato il valore predefinito.

[z/OS] Per z/OS, la dimensione heap iniziale predefinita per il controller è 48 MB e la dimensione heap iniziale predefinita per il servant è 128 MB. Questi valori predefiniti sono validi sia per configurazioni a 31 bit che a 64 bit.

[AIX Solaris HP-UX Linux Windows] [iSeries] Per z/OS e le piattaforme distribuite, il valore predefinito è 50 MB.

Procedure ottimali: Questi valori predefiniti sono sufficienti per la maggior parte delle applicazioni.bprac
[iSeries] Prevenzione dei problemi: Per i5/OS, la dimensione heap minima deve essere sempre inferiore alla dimensione heap massima. Non impostare mai le proprietà della dimensione heap minima e della dimensione heap massima sullo stesso valore.gotcha

L'aumento di questa impostazione può migliorare l'avvio. Il numero di ricorrenze della raccolta dati obsoleta viene ridotto e le prestazioni vengono ottimizzate del 10%.

L'aumento della dimensione heap Java migliora la velocità di trasmissione fino a quando l'heap diviene troppo grande per risiedere nella memoria fisica. Se la dimensione di heap supera la memoria fisica disponibile e si verifica il paging, le prestazioni Java vengono ridotte drasticamente.

Dimensione massima heap

Specifica, in megabyte, la dimensione heap massima disponibile per il codice JVM. Se questo campo viene lasciato vuoto, viene usato il valore predefinito.

[z/OS] Per z/OS, la dimensione heap massima predefinita è 256 MB. Questo valore predefinito è valido sia per configurazioni a 31-bit che a 64-bit.

L'aumento dell'impostazione delle dimensioni massime dell'heap può migliorare l'avvio. Aumentando la dimensione massima dell'heap, è possibile ridurre il numero di occorrenze di raccolta dati obsoleta e le prestazioni vengono ottimizzate del 10%.

In generale, l'aumento di questa impostazione migliora la velocità di trasmissione fino a quando l'heap diviene troppo grande per risiedere nella memoria fisica. Se la dimensione di heap supera la memoria fisica disponibile e si verifica il paging, le prestazioni Java vengono ridotte drasticamente. Per questo è importante che il valore specificato per questa proprietà permetta alla memoria fisica di contenere l'heap.

[z/OS] Per evitare il paging, specificare un valore per questa proprietà che consenta almeno 256 MB di memoria fisica a ciascun processore e 512 MB di memoria fisica ad ogni server delle applicazioni. Se l'utilizzo del processo è basso a causa del paging, aumentare la memoria disponibile, se possibile, invece che aumentare la dimensione massima heap. L'aumento della dimensione massima di heap potrebbe ridurre le prestazioni piuttosto che migliorarle.

[iSeries] Per i5/OS, quando questa proprietà è impostata su 0, il programma di raccolta dati obsoleta viene eseguito soltanto quando viene raggiunta la soglia di tale programma. Quando si specifica un valore diverso da 0, il programma di raccolta dati obsoleta viene eseguito ogni qual volta che la dimensione di heap raggiunge la dimensione massima specificata. Tuttavia, a differenza del normale programma di raccolta dati obsoleta, se si raggiunge la dimensione massima, tutti i thread dell'applicazione devono attendere finché non è terminato il processo di raccolta dati obsoleta, prima che sia possibile continuare l'esecuzione. Tale situazione potrebbe causare tempi di pausa poco desiderabili. Quindi, occorre utilizzare la dimensione heap massima come rete di sicurezza per gestire ricorrenze di crescita heap impreviste e per accertarsi che l'heap non aumenti più della memoria disponibile. In circostanze normali, si consiglia di non raggiungere mai la dimensione heap massima specificata.

Procedure ottimali: Questi valori predefiniti sono appropriati per la maggior parte delle applicazioni. Abilitare la proprietà Raccolta dati obsoleta verbose se si verifica di frequente la raccolta dati obsoleta. Se la raccolta dati obsoleta viene eseguita troppo frequentemente, è necessario aumentare la dimensione massima dell'heap JVM.bprac
Esegui HProf [AIX Solaris HP-UX Linux Windows] [iSeries]

Specifica se utilizzare o meno il supporto del programma di creazione profili HProf. Per utilizzare un altro programma di creazione profili, specificare le impostazioni del programma di creazione profili personalizzato utilizzando l'impostazione Argomenti HProf. Il valore predefinito è quello di non abilitare il supporto del profiler HProf.

Se la proprietà Esegui HProf viene impostata su true, è necessario specificare gli argomenti del programma di creazione profili della riga comandi come valori della proprietà Argomenti HProf.

Tipo dati Booleano
Valore predefinito false
Argomenti HProf [AIX Solaris HP-UX Linux Windows] [iSeries]

Specifica gli argomenti del programma di creazione profili della riga comandi da trasferire al codice JVM che avvia il processo del server delle applicazioni. È possibile specificare gli argomenti quando il supporto del programma di creazione profili HProf è abilitato.

Gli argomenti HProf sono obbligatori solo se la proprietà Esegui HProf è impostata su true.

Modalità di debug

Specifica se eseguire JVM nella modalità di debug. Il valore predefinito è quello di non abilitare il supporto della modalità di debug.

Se la proprietà Modalità debug viene impostata su true, è necessario specificare gli argomenti di debug della riga comandi come valori della proprietà Argomenti debug.

Tipo dati Booleano
Valore predefinito false
Argomenti di debug

Specifica gli argomenti della riga comandi da trasferire al codice JVM che avvia il processo del server delle applicazioni. È possibile specificare gli argomenti quando la proprietà Modalità debug è impostata su true.

Se si abilita il debug su più server delle applicazioni sullo stesso nodo, verificare che lo stesso valore non venga specificato per l'argomento address. L'argomento address definisce la porta utilizzata per il debug. Se due server, per i quali è abilitato il debug, vengono configurati per utilizzare la stessa porta di debug, è possibile che i server non siano avviati correttamente. Ad esempio, entrambi i server potrebbero essere ancora configurati con l'argomento di debug address=7777, che indica il valore predefinito per l'argomento address di debug.

Se si abilita il debug su più server delle applicazioni, verificare che lo stesso valore non venga specificato per l'argomento address. L'argomento address definisce la porta utilizzata per il debug. Se due server, per i quali è abilitato il debug, vengono configurati per utilizzare la stessa porta di debug, è possibile che i server non siano avviati correttamente. Ad esempio, entrambi i server potrebbero essere ancora configurati con l'argomento di debug address=7777, che indica il valore predefinito per l'argomento address di debug.

Tipo dati String
Unità di misura Argomenti riga comandi Java
Argomenti JVM generici

Specifica gli argomenti della riga comandi da trasferire al codice JVM (Java Virtual Machine) che avvia il processo del server delle applicazioni.

È possibile immettere i seguenti argomenti della riga comandi facoltativi nel campo Argomenti JVM generici. Se si inserisce più di un argomento, separarli con uno spazio.
Prevenzione dei problemi: Se l'argomento indica che è valido soltanto per IBM Developer Kit, non è possibile utilizzare tale argomento con JVM da un altro provider, come ad esempio Microsoft o Hewlett-Packardgotcha
  • [z/OS] [AIX Solaris HP-UX Linux Windows] hotRestartSync:

    Specificare hotRestartSync se si desidera abilitare la funzione di sincronizzazione del riavvio a caldo del servizio di sincronizzazione. Questa funzione indica al servizio di sincronizzazione che l'installazione viene eseguita in un ambiente in cui gli aggiornamenti della configurazione non sono eseguiti quando il gestore distribuzione non è attivo. Quindi, il servizio non deve eseguire un completo confronto di repository al riavvio del gestore distribuzione o dei server dell'agente nodo. Abilitando questa funzione, aumenta l'efficienza della prima operazione di sincronizzazione in seguito al riavvio del gestore distribuzione o dell'agente nodo, in particolare per installazioni che includono celle di release misti, che utilizzano diversi nodi e che eseguono diverse applicazioni.

  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xquickstart
    Specificare -Xquickstart per la compilazione iniziale a un livello di ottimizzazione inferiore alla modalità predefinita. Successivamente, a seconda dei risultati di esempio, è possibile ritornare al livello della compilazione iniziale in modalità predefinita.
    Procedure ottimali: Utilizzare -Xquickstart per le applicazioni in cui la velocità moderata iniziale è più importante della velocità di trasmissione costante durante l'esecuzione. In alcuni scenari di debug, strumenti di verifica e strumenti che richiedono tempi di esecuzione brevi, è possibile migliorare il tempo di avvio del 15-20%.bprac
    [iSeries] Prevenzione dei problemi: i5/OS non supporta questo argomento.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xverify:none

    Specificare -Xverify:none se si desidera ignorare la fase di verifica classe durante il caricamento classi. L'utilizzo di -Xverify:none disabilita la verifica della classe Java, che fornisce un miglioramento del 10-15% nel tempo necessario all'avvio. Tuttavia, i dati della classe danneggiati o non validi non vengono rilevati quando viene specificato questo argomento. Se vengono caricati dati della classe danneggiati, la JVM potrebbe funzionare in maniera non prevista o riportare un errore.

    Prevenzione dei problemi:
    • Non utilizzare questo argomento se si stanno effettuando modifiche al codice byte, in quanto la JVM potrebbe riportare un errore se si verifica un errore della strumentazione.
    • Se, mentre viene utilizzata questa opzione, si verifica un errore della JVM o se la JVM funziona in maniera non prevista, rimuovere questo argomento come primo passo nel debug del problema della JVM.
    • [iSeries] i5/OS non supporta questo argomento.
    gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xnoclassgc

    Specificare -Xnoclassgc per disabilitare la raccolta di dati inutilizzati della classe. Questo argomento comporta un riutilizzo della classe e prestazioni leggermente migliorate. Tuttavia, le risorse possedute da queste classi restano in uso anche quando le classi non vengono chiamate. È possibile utilizzare l'impostazione di configurazione verbose:gc se si desidera monitorare la raccolta dati obsoleta. È possibile utilizzare l'output derivante per determinare l'impatto delle prestazioni sul richiamo di queste risorse. Se lo stesso insieme di classi viene incluso ripetutamente nella raccolta dati obsoleta, è opportuno disabilitare la funzione di tale raccolta. La raccolta dati obsoleta della classe è abilitata per impostazione predefinita.

    [iSeries] Prevenzione dei problemi: i5/OS non supporta questo argomento. Occorre utilizzare -noclassgc per disabilitare la raccolta dati obsoleta di classe su questa piattaforma.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xgcthreads

    Specificare -Xgcthreads se si desidera utilizzare contemporaneamente diversi thread per la raccolta dati obsoleta. Le tecniche di questa raccolta dati obsoleta sono note come raccolta dati obsoleta parallela. Tale argomento è valido solo per IBM Developer Kit.

    Quando si immette questo valore nel campo Argomenti JVM generici, immettere anche il numero di processori della propria macchina. Ad esempio, se si hanno 3 processori in esecuzione sulla macchina, immettere -Xgcthreads 3. Su un nodo con n processori, il numero predefinito di thread è n.

    Procedure ottimali: Occorre utilizzare la raccolta dati obsoleta parallela se la macchina dispone di più processori.bprac
    [iSeries] Prevenzione dei problemi: i5/OS non supporta questo argomento.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xnocompactgc

    Specificare -Xnocompactgc se si desidera disabilitare la compressione dell'heap. La compressione dell'heap è l'operazione di raccolta dati obsoleta più dispendiosa. Se si utilizza IBM Developer Kit, è necessario evitare la compressione dell'heap. Se si disabilita la compressione heap, eliminare tutti i sovraccarichi associati.

    [iSeries] Prevenzione dei problemi: i5/OS non supporta questo argomento.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xgpolicy

    Specificare -Xgpolicy per impostare la politica di raccolta dati obsoleta. Tale argomento è valido solo per IBM Developer Kit.

    Impostare questo argomento su optavgpause, se si desidera utilizzare il contrassegno simultaneo per memorizzare i thread dell'applicazione a partire dallo stack prima che l'heap diventi saturo. Quando viene specificato questo parametro, le interruzioni del programma di raccolta dati obsoleta diventano uniformi e non si rilevano pause lunghe. Tuttavia, l'utilizzo di questa politica riduce la velocità di trasmissione poiché i thread potrebbero avere altro lavoro.

    Impostare questo argomento su optthruput se si desidera ottimizzare la velocità di trasmissione dati e non si riscontrano problemi se si verificano pause lunghe per la raccolta dati obsoleta. Si tratta del parametro predefinito, impostazione consigliata.

    [iSeries] Prevenzione dei problemi: i5/OS non supporta questo argomento.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -XX

    La piattaforma Java SE 6 (Java Platform, Standard Edition 6), dispone della raccolta dei dati inutilizzati generazionale, che consente di separare pool di memoria per contenere oggetti con età differenti. Il ciclo di raccolta dati obsoleta raccoglie gli oggetti in modo indipendente in funzione della durata. Mediante parametri aggiuntivi, è possibile impostare la dimensione dei pool di memoria individualmente. Per ottenere prestazioni ottimali, impostare la dimensione del pool contenente oggetti di breve durata, in modo che gli oggetti nel pool non abbiano durata superiore a un ciclo di raccolta dati obsoleta. Utilizzare i parametri NewSize e MaxNewSize per specificare la dimensione del nuovo pool di generazione.

    Gli oggetti che hanno durata superiore al primo ciclo di raccolta dati obsoleta vengono trasferiti in un altro pool. Utilizzare il parametro SurvivorRatio per specificare la dimensione del pool survivor, SurvivorRatio. È possibile utilizzare le statistiche di oggetti raccolte da Tivoli Performance Viewer o includere l'argomento verbose:gc nell'impostazione di configurazione per monitorare le statistiche di raccolta dati obsoleta. Se la raccolta dati obsoleta diventa un collo di bottiglia, specificare i seguenti argomenti per personalizzare le impostazioni del pool di creazione al fine di adattarle all'ambiente in uso.
    -XX:NewSize=lower_bound
    -XX:MaxNewSize=upper_bound
     -XX:SurvivorRatio=new_ratio_size 
    Procedure ottimali: I valori predefiniti per questi argomenti sono:NewSize=2m MaxNewSize=32m SurvivorRatio=2. Tuttavia, se si dispone di una JVM configurata con una dimensione heap superiore a 1 GB, utilizzare i valori: -XX:newSize=640m -XX:MaxNewSize=640m -XX:SurvivorRatio=16 o impostare dal 50 al 60% della dimensione heap totale sul nuovo pool di creazione. bprac
    [iSeries] Prevenzione dei problemi: i5/OS non supporta questo argomento.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xminf

    Specificare -Xminf se si desidera modificare la percentuale minima della dimensione di spazio libero dell'heap. L'heap aumenta se lo spazio libero è inferiore alla quantità specificata. Con la modalità di ripristino abilitata, questo argomento specifica la percentuale minima di spazio libero per gli heap middleware e transitori. Il valore specificato per questo argomento è un numero a virgola mobile, da 0 a 1. Il valore predefinito è .3 (30%).

    [iSeries] Prevenzione dei problemi: i5/OS non supporta questo argomento.gotcha
  • [AIX Solaris HP-UX Linux Windows] [z/OS] -server | -client

    La tecnologia HotSpot Java in Java SE 6 utilizza algoritmi di contenimento JVM adattabili per l'ottimizzazione dell'esecuzione del codice byte nel tempo. La JVM viene eseguita in due modalità, -server e -client. Nella maggior parte dei casi, è opportuno utilizzare la modalità -server che determina un'esecuzione del runtime più efficiente in lunghi periodi.

    Se si utilizza la modalità predefinita -client, si otterrà un tempo di avvio più veloce e l'uso di una minore quantità di memoria. Tuttavia, questa modalità riduce le prestazioni estese. Utilizzare la modalità -server, che migliora le prestazioni, a meno che il tempo di avvio del server non sia superiore alle prestazioni. È possibile monitorare la dimensione del processo e il tempo di avvio del server per verificare la differenza tra l'utilizzo delle modalità -client e -server.

    [iSeries] Prevenzione dei problemi: i5/OS non supporta questo argomento.gotcha
  • -Dcom.ibm.CORBA.RequestTimeout=intervallo_timeout

    Questo argomento è valido solo per z/OS. Specificare l'argomento -Dcom.ibm.CORBA.RequestTimeout= intervallo_timeout per impostare il periodo di timeout per rispondere a richieste inviate dal client. Questo argomento utilizza l'opzione -D. intervallo_timeout è il periodo di timeout espresso in secondi. Se si verificano problemi di latenza eccessiva con la rete, specificare un valore elevato per impedire i timeout. Se viene specificato un valore troppo basso, un server delle applicazioni che partecipa alla gestione del carico di lavoro può andare in timeout prima di ricevere una risposta.

    Specificare questo argomento soltanto se l'applicazione riscontra problemi con i timeout. Non esistono valori consigliati per questo argomento.

  • -Dcom.ibm.websphere.wlm.unusable.interval=interval

    Questo argomento è valido solo per z/OS. Specificare l'argomento -Dcom.ibm.websphere.wlm.unusable.interval= intervallo_timeout per modificare il valore della proprietà com.ibm.websphere.wlm.unusable.interval quando lo stato di gestione del carico di lavoro del client viene aggiornato troppo presto o troppo tardi. Questa proprietà specifica, in secondi, l'intervallo di attesa del runtime del client di gestione del carico di lavoro dopo aver contrassegnato un server come non disponibile prima di tentare di contattare nuovamente il server. Questo argomento utilizza l'opzione -D. . Il valore predefinito è 300 secondi. Se la proprietà viene impostata su un valore elevato, il server viene contrassegnato come non disponibile per un lungo periodo di tempo. Ciò impedisce al protocollo di aggiornamento per la gestione dei carichi di lavoro di aggiornare lo stato di gestione del carico di lavoro del client fino al termine di tale periodo di tempo.

  • [z/OS] -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=

    Questo argomento è valido solo per z/OS. Specificare l'argomento -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl= per indicare che l'archivio per singoli buffer di byte diretti venga rilasciato appena il buffer non sarà più necessario. L'unico valore supportato per questo argomento è com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl.

    I buffer di byte diretti, che la JVM crea per gestire i dati della richiesta, vengono assegnati nell'heap della LE (Language Environment) anziché nell'heap della JVM. Di solito, anche se i buffer di byte diretti non sono più necessari, la JVM non rilascia questo archivio LE nativo fino all'esecuzione della raccolta di dati inutilizzati successiva. Se il server sta gestendo richieste di grandi dimensioni, l'archivio della LE può esaurirsi prima che la JVM esegua la raccolta di dati inutilizzati, causando l'interruzione anomala del server. La configurazione della JVM con il seguente argomento impedisce che si verifichino tali interruzioni.
    -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl

    [z/OS] Nella piattaforma z/OS, inoltre, è necessario specificare questo argomento se si utilizza la proprietà personalizzata zaioFreeInitialBuffers per un canale TCP per indicare che il canale deve rilasciare i buffer di lettura iniziali utilizzati nelle nuove connessioni non appena tali buffer non siano più necessari per la connessione.

  • [AIX Solaris HP-UX Linux Windows] [z/OS] -Xshareclasses:none

    Specificare l'argomento -Xshareclasses:none per disabilitare l'opzione di condivisione classi per un processo. L'opzione di condivisione classi, disponibile con Java SE 6, consente di condividere le classi in una cache. La condivisione delle classi in una cache migliora il tempo di avvio e riduce l'utilizzo della memoria. I processi come i server delle applicazioni, gli agenti nodi e i gestori distribuzione possono utilizzare l'opzione di condivisione classi.

    Se si utilizza questa opzione, è necessario cancellare la cache quando il processo non è in uso. Per cancellare la cache, richiamare il programma di utilità root_server_app/bin/clearClassCache.bat/sh oppure arrestare il processo e riavviarlo.

    Prevenzione dei problemi:
    • [Solaris] [iSeries] [HP-UX] IBM JVM per J2SE 5 non è supportato su Solaris, HP e i5/OS.
    • Le classi di applicazioni J2EE in esecuzione in un processo del server delle applicazioni non vengono aggiunte alla cache di classi condivise.
    gotcha
Tipo dati String
Unità di misura Argomenti riga comandi Java
Nome file JAR eseguibile

Specifica un nome percorso completo di un file JAR eseguibile utilizzato dal codice JVM.

Tipo dati String
Unità di misura Nome percorso
Disabilita JIT

Specifica se disabilitare l'opzione del compilatore JIT (Just-In-Time) del codice JVM.

Se si disabilita il compilatore JIT, la velocità di trasmissione viene ridotta notevolmente. Pertanto, per motivi legati alle prestazioni, mantenere JIT abilitato.

Tipo dati Booleano
Valore predefinito false (JIT abilitato)
Consigliato JIT abilitato
Nome del sistema operativo

Specifica le impostazioni JVM di un determinato sistema operativo.

All'avvio del processo, il processo utilizza le impostazioni JVM specificate per il server come le impostazioni JVM per il sistema operativo.

All'avvio del processo, il processo utilizza le impostazioni JVM specificate per il nodo come le impostazioni JVM per il sistema operativo.




I collegamenti contrassegnati (online) richiedono un accesso a Internet.

Attività correlate
Riferimenti correlati
Raccolta di proprietà personalizzate
[AIX Solaris HP-UX Linux Windows]


Nome file: urun_rconfproc_jvm.html