Utilizzare questa pagina per visualizzare e modificare le impostazioni di configurazione Java virtual machine (JVM) di un processo del 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).
Per le piatteforme distribuite e IBM i, 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
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 |
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 |
Specifica il classpath standard nel quale il codice della Java Virtual Machine cerca 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.
Tipo dati | Stringa |
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.
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.
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 |
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.
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.
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.
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.
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 all'infrastruttura PMI e può essere monitorata utilizzando
TVP (Tivoli Performance Viewer).
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 |
Specifica, in megabyte, la dimensione heap iniziale disponibile per il codice JVM. Se questo campo viene lasciato vuoto, viene usato il valore predefinito.
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.
Per IBM i e le piattaforme distribuite, il valore predefinito è 50 MB.
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.
Specifica, in megabyte, la dimensione heap massima disponibile per il codice JVM. Se questo campo viene lasciato vuoto, viene usato il valore predefinito.
La dimensione massima di heap 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.
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.
Per IBM i, 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.
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 |
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.
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 |
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 | Stringa |
Unità di misura | Argomenti della riga comandi Java |
Specifica gli argomenti della riga comandi da passare alla Java virtual machine che avvia il processo del server delle applicazioni.
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.
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.
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.
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.
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.
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.
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.
-XX:NewSize=lower_bound -XX:MaxNewSize=upper_bound -XX:SurvivorRatio=new_ratio_size
In alternativa, occorre impostare dal 50% al 60% delle dimensioni heap totali in un nuovo pool di generazione.
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%).
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.
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.
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.
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.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl
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.
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.
Tipo dati | Stringa |
Unità di misura | Argomenti della riga comandi Java |
Specifica un nome percorso completo di un file JAR eseguibile utilizzato dal codice JVM.
Tipo dati | Stringa |
Unità di misura | Nome percorso |
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 |
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.