Utilizaţi această pagină pentru a vizualiza, şi modifica setările de configurare Java virtual machine (JVM) ale unui proces pentru un server de aplicaţii.
Pentru a vizualiza această pagină a consolei administrative, conectaţi-vă la consola administrativă şi duceţi-vă la panoul Java virtual machine (JVM).
Pentru IBM i
şi platformele distribuite, faceţi clic ep Servere >
Tipuri server > Servere de aplicaţii WebSphere > server_name. Apoi, în secţiunea Infrastructură server
, faceţi clic peJava şi management proces > Definiţie proces> JVM (Java virtual machine)
Server de aplicaţii | Faceţi clic pe Servere > Tipuri server> Servere de aplicaţii WebSphere> server_name. Apoi, în secţiunea Infrastructură server, faceţi clic pe Java şi management proces > Definiţie proces > Control > JVM (Java virtual machine) |
Manager implementare | Faceţi clic pe Administrare sistem > Manager implementare. Apoi, în secţiunea Infrastructură server, faceţi clic pe Java şi management proces > Definiţie proces> Control > JVM (Java virtual machine) |
Agent nod | Faceţi clic pe Administrare sistem > Agent nod> node_agent. Apoi, în secţiunea Infrastructură server, faceţi clic pe Java şi management proces > Definiţie proces > JVM (Java virtual machine) |
Server aplicaţii | Servere > Tipuri server > Servere de aplicaţii WebSphere > server_name. Apoi, în secţiunea Infrastructură server, faceţi clic pe Java şi management proces > Definiţie proces > JVM (Java virtual machine) |
Manager implementare | Administrare sistem > Manager implementare. Apoi, în secţiunea Infrastructură server, faceţi clic pe Java şi management proces > Definiţie proces > JVM (Java virtual machine) |
Agent nod | Administrare sistem > Agent nod > node_agent. Apoi, în secţiunea Infrastructură server, faceţi clic pe Java şi management proces > Definiţie proces > JVM (Java virtual machine) |
Specifică calea de clase standard în care codul Java virtual machine (JVM) caută clase.
Dacă aveţi nevoie să adăugaţi o cale de clase acetui câmp, introduceţi fiecare intrare cale de clase într-un rând de tabelă separat. Nu trebuie să adăugaţi două puncte sau un punct şi virgulă la sfârşitul fiecărui rând.
Tip de date | Şir |
Specifică clasele bootstrap şi resursele pentru codul JVM. Această opţiune este disponibilă doar pentru instrucţiunile JVM care suportă clasele bootstrap şi resursele.
Dacă aveţi nevoie să adăugaţi o cale de clasă acestui câmp, introduceţi fiecare intrare cale de clasă într-un rând al tabelei. Nu trebuie să adăugaţi două puncte sau un punct şi virgulă la sfârşitul fiecărei intrare.
If you need to add multiple classpaths to this field, you can use either a colon (:) or semi-colon (;), depending on which operating system the JVM resides, to separate these classpaths.
Dacă trebuie să adăugaţi mai multe căi de clase acestui câmp, puteţi utiliza fie două puncte (:) fie punct şi virgulă (;), în funcţie de sistemul de operare pe care se află nodul, pentru a separa aceste căi de clasă.
Specifică dacă să se folosească ieşirea de depanare detaliată pentru încărcarea de clase. Implicit este să nu se activeze încărcarea de clase detaliată.
Dacă încărcarea de clasă detaliată este activată, ieşirea depanării este trimisă unuia dintre istoricurile de proces nativ.
Tip de date | Boolean |
Implicit | fals |
Specifică dacă să se folosească ieşirea de depanare detaliată pentru colectarea gunoiului. Implicit este să nu se permită colectarea gunoiului cu detalii.
Dacă este activată colectarea gunoiului cu detalii, ieşirea de depanare este trimisă unuia dintre istoricurile de proces native.
Tip de date | Boolean |
Implicit | fals |
Când acest câmp este activat, un raport este scris fluxului de ieşire de fiecare dată când rulează colectorul de gunoi. Acest raport ar trebui să vă dea o indicaţie despre cum funcţionează procesul Java de colectare gunoi.
83.29/3724.32 * 100 = 2.236 la sută
Dacă petreceţi mai mult de 5 la sută din timpul dumneavoastră la colectarea gunoiului şi dacă colectarea gunoiului survine frecvent ar putea fi nevoie să creşteţi dimensiunea heapJava.
Pentru a determina dacă memoria heap alocată creşte, uitaţi-vă la procentajul memoriei heap care rămâne nealocat după fiecare ciclu de colectare gunoi şi verificaţi că procentajul nu continuă să scadă. Dacă procentajul spaţiului liber continuă să scadă experimentaţi o creştere gradată în dimensiunea heap din colectare în colectare a gunoiului. Această situaţie ar putea indica că aplicaţia dumneavoastră are o scurgere de memorie.
Pe platforma z/OS, puteţi de asemenea emite comanda de consolăMVS , modifica afişarea,
jvmheap, pentru a afişa informaţie heap JVM. În plus, puteţi verifica activitatea server şi înregistrările interval SMF. Dimensiunea heap JVM este de asemenea
făcută disponibilă pentru PMI şi poate fi monitorizată utilizândTivoli Performance
Viewer.
Specifică dacă să se folosească ieşirea de depanare detaliată pentru invocările metodelor native. Implicit este să nu se permită activitatea detaliată Java Native Interface (JNI).
Tip de date | Boolean |
Implicit | fals |
Specifică, în megabiţi, dimensiunea heap iniţială disponibilă codului JVM. Dacă acest câmp este lăsat gol, valoarea implicită este utilizată.
Pentru z/OS, dimeniunea heap iniţială implicită pentru controler este 48 MB, şi dimensiunea heap inişială implicită pentru
servant este 128 MB. Aceste valori implicite se aplică pentru ambele configuraţii de 31-bit
şi 64-bit.
Pentru IBM i şi platformele distribuite, dimensiunea heap iniţială implicită este 50 MB.
Creşterea aceste setări poate îmbunătăţi startup-ul. Numărul de apariţii colectare gunoi sunt reduse şi un câştig de 10 la sută în performanţă este realizat.
Creşterea dimensiunii heap-ului Java continuă să imbunătăţească debitul până când heapul devine prea mare pentru a se afla în memoria fizică. Dacă dimensiunea heap depăşeşeşte memeoria fizică disponibilă şi survine paginarea, intervine o descreştere observabilă a performanţie.
Specifică, în megabiţi, dimensiunea heap maximă care este disponibilă codului JVM JVM. Dacă acest câmp este lăsat gol, valoarea implicită este folosită.
Dimensiunea heap implicită maximă este 256 MB. Această valoare implicită se aplică atât pentru configuraţie 31-bit cât şi pentru configuraţia 64-bit.
Creşterea setării dimensiune heap maximă poate îmbunătăţi startup-ul. Când creşteţi dimensiunea heap maximă, reduceţi numărul evenimentelor colectare gunoi cu un câştig ed 10 la sută în preformanţă.
Creşterea acestei setări de obicei imbunătăţeşte debitul până când heap-ul devine prea mare pentru a se afla în memoria fizică. Dacă dimensiunea heap depăşeşeşte memeoria fizică disponibilă şi survine paginarea, intervine o descreştere observabilă a performanţie. Prin urmare, este important ca valoare pe care o specificaţi pentru această proprietate să permită ca heap-ul să fie conţinut în memoria fizică.
Pentru a împiedica paginarea, specificaţi o valoarea pentru această proprietate care permite un minim de 256 MB de memorie fizică pentru fiecare procesor şi 512 MB memorie fizică pentru fiecare server de aplicaţii. Dacă utilizarea procesorului este jos din cauza paginării, creşteţi memoria disponibilă în loc să creşteţi dimensiunea heap maximă. Creşterea dimensiunii heap maxime ar putea descreşte performanţa mai degrabă decât să îmbunătăţească performanţa.
Pentru IBM i, când această proprietate este setată pe 0,
colectorul de gunoi rulează doar atunci când pragul colectorului de gunoi este atins. Când o altă valoare decât 0 este specificată,
colectorul de gunoi rulează oricând dimensiunea heap atinge dimensiunea maximă specificată. Totuşi, spre deosebire de un colector de gunoi normal, dacă dimensiunea maximă este atinsă, toate firele de execuţie ale aplicaţiei trebuie să aştepte până când procesul colectare gunoi termină înainte ca ele să poată continua să ruleze. Această situaţie ar putea cauza pauze de timp nedorite. Astfel, utilizaţi dimensiunea heap maximă ca măsură de siguranţă pentru a gestiona evenimentul unei creşteri heap neaşteptate, mai mare decât memoria disponibilă. Sub circumstanţe obişnuite, dimensiunea heap maximă specificată nu este niciodată atinsă.
Specifică dacă să se utilizeze suportul profiler HProf. Pentru a utiliza alt profiler, specificaţi setările profiler personalizate utilizând setarea Argumente HProf . Implicit este să nu se permită suportul profiler-ului HProf.
Dacă setaţi proprietatea Rulare HProf pe adevărat, atunci trebuie să specificaţi argumentele liniei de comandă a profiler-ului ca valori pentru proprietatea Argumente HProf.
Tip de date | Boolean |
Implicit | fals |
Specifică argumentele liniei de comandă a profilerului pentru a le transmite codului JVM care porneşte procesul serverului de aplicaţii. Puteţi specifica argumente atunci când suportul profiler HProf este activat.
Argumentele HProf sunt necesare doar dacă proprietatea Run HProf este setată pe adevărat.
Specifcă dacă să se ruleze JVM în modul depanare. Implicit este să nu se permită suport mod depanare.
Dacă setaţi proprietatea Mod depanare pe adevărat, atunci trebuie să specificaţi argumentele de depanare a liniei de comandă ca valori pentru proprietatea Argumente depanare.
Tip de date | Boolean |
Implicit | fals |
Specifică argumentele depanare ale liniei de comandă pentru a le transmite codului care JVM care porneşte procesul serverului de aplicaţii. Puteţi specifica argumentele când proprietatea Mod depanare este setată pe adevărat.
Dacă activaţi depanarea pe mai multe servere de aplicaţii pe acelaşi nod, verificaţi că aceeaşi valoare nu este specificată pentru argumentul adresei. Argumentul adresei defineşte portul care este utilizaz pentru depanare. Dacă două servere, pentru care depanarea este activată, sunt configurate să utilizeze acelaşi port de depanare, serverele ar putea eşua să pornească corespunzător. De exemplu, aceleaşi servere ar putea fi încă configurate cu argumentul de depanareaddress=7777, care este valoarea implicită pentru argumentul adresei de depanare.
Dacă activaţi depanarea pe mai multe servere de aplicaţii, verificaţi că aceeaşi valoare nu este specificată pentru argumentul adresei. Argumentul adresei defineşte portul care este folosit pentru depanare. Dacă două servere pentru care depanarea este activată sunt configurate să utilizeze acelaşi port de depanare, serverele ar putea eşua să pornească corespunzător. De exemplu, ambele servere ar putea fi încă configurate cu argumentul de depanare address=7777, care este valoarea implicită pentru argumentul adresei de depanare.
Tip de date | Şir |
Unităţi | Java argumente linie de comandă |
Specifică argumentele liniei de comandă pentru a transmite maşinii virtuale Java cod care porneşte procesul serverului de aplicaţii.
SpecificaţihotRestartSync dacă doriţi să permiteţi caracteristica hot restart sync a serviciului de sincronizare. Această caracteristică indică serviciului de sincronizare că instalaţia rulează într-un mediu unde actualizările de configuraţie nu sunt făcute când managerul de implementare nu este activ. Astfel, serviciul nu trebuie să realizeze o comparaţie magazie completă când serverele managerului de implementare sau agentului nod repornesc. Activarea acestei caractristici îmbunătăţeşte eficienţa primei operaţii de sincronizare după ce managerul de implementare sau agentul nod reporneşte, în special pentru instalările care includ ediţii celulă mixte, utilizează mai multe noduri şi rulează mai multe aplicaţii.
Acest argument se aplică doar pentru z/OS. Specifică argumentul -Dcom.ibm.CORBA.RequestTimeout= timeout_interval pentru a seta perioada de timeout pentru răspunderea la cererile trimise de client. Acest argument utilizează opţiunea -D. timeout_interval este perioada de timeout în secunde. Dacă reţeaua dumneavoastră are latenţă extremă, specificaţi o valoare mare pentru a preveni timeout-urile. Dacă specificaţi o valoarea prea mică, un server de aplicaţii care participă la gestionarea încărcării de lucru, poate avea timeout înainte de a primi un răspuns.
Specificaţi acest argument doar dacă aplicaţia dumneavoastră are probleme cu timeout-urile. Nu există valori recomandate pentru acest argument.
Acest argument se aplică doar pentru z/OS. Specificaţi argumentul -Dcom.ibm.websphere.wlm.unusable.interval= timeout_interval pentru a modifica valoarea proprietăţii com.ibm.websphere.wlm.unusable.interval atunci când starea gestionării încărcării de lucru a clientului se reâmprospătează prea repede sau prea târziu. Această proprietate specifică, în secunde, durata pe care runtime-ul client gestionare încărcare de lucru aşteaptă după ce a marcat un server ca nefiind disponibil înainte de a încerca să contacteze din nou serverul.Acest argument utilizează opţiunea -D. . Valoarea implicită este 300 secunde. Dacă proprietatea este setată pe o valoare mare, serverul este marcat ca fiind nedisponibil pentru o lungă perioadă de timp. Aceasta previne protocolul de reâmprospătare gestiune încărcare de lucru să reâmprospăteze starea gestiune management a clientului până după ce perioada de timp s-a încheiat .
Acest argument se aplică doar pentru z/OS. Specificaţi argumentul -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl= pentru a arăta că spaţiul de stocare pentru bufferele octet individuale directe ar trebui eliberate imediat ce bufferul nu mai este necesar. Singura valoarea suportată pentru acest argument este com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl
Pe platforma z/OS, trebuie, de asemenea, să specificaţi acest argument dacă specificaţi proprietatea personalizată zaioFreeInitialBuffers pentru ca un canal TCP să determine canalul să elibereze buferele de citire iniţiale utilizaze pe noi conexiuni, imediat ce aceste buffere nu mai sunt necesare pentru conexiune.
Java HotSpot Technology înJava SE 6 utilizează un JVM adaptiv ce conţine algoritmi care, în timp, optimizează performanţa codului de octeţi. JVM rulează în două moduri, -server şi -client. În cele mai multe cazuri, utilizaţi modul -server , ce prodice performanţe runtime mai eficiente peste o perioadă de timp extinsă.
Dacă folosiţi modul implicit -client, timpul de startup al serverului este mai rapid şi este creat un spaţiu ocupat mai mic în memorie. Totuşi acest mod diminuează performanţa extinsă. Utilizaţi modul -server, care îmbunătăţeşte performanţa doar dacă timpul de startup al serverului este de o importanţă mai mare decât performanţa. Puteţi monitoriza dimensiunea procesului şi timpul de startup al serverului pentru a verifica diferenţa de performanţă dintre utilizarea modurilor -client şi -server.
Specificaţi-Xverify:none dacă doriţi să ocoliţi etapa de verificare a clasei în timpul încărcării clasei . Utilizarea -Xverify:none dezactivează verificarea clasei Java , ce poate furniza o îmbunătăţire de 10-15 la sută în timpul de startup. Oricât de corupte sau nevalide sunt datele claselor, acestea nu sunt detectate atunci când acest argument este specificat. Dacă datele clasei corupte sunt încărcate, JVM s-ar putea comporta într-un mod neaşteptat, sau JVM ar putea eşua.
Specificaţi-Xnoclassgc dacă doriţi să dezactivaţi colectarea gunoiului clasă. Acest argument rezultă în reutilizarea mai multor clase şi a unei preformanţe uşor îmbunătăţire. Totuşi, resursele deţinute de către aceste clase rămân în utilizare atunci când clasele nu sunt apelate.
Puteţi utiliza setarea de configuraţie verbose:gc dacă doriţi să monitorizaţi colectarea gunoiului. Puteţi utiliza ieşirea rezultată pentru a determina impactul asupra performanţei pe care-l are reclamarea acestor resurse.
Dacă specificaţi argumentul -Xnoclassgc, oricând implementaţi din nou o aplicaţie, ar trebui să reporniţi întotdeauna serverul de aplicaţii pentru a curăţa clasele şi datele statice din versiunile anterioare ale aplicaţiei.
Specificaţi -Xgcthreads dacă doriţi să utilizaţi mai multe fire de execuţie ale colectării gunoiului în acelaşi timp. Această tehnică a colectării gunoiului este cunoscută precum colectare gunoi în paralel. Acest argument este valid doar pentru IBM Developer Kit.
Când introduceţi această valoare în câmpul Argumente JVM generice, introduceţi, de asemenea, numărul procesoarelor care rulează pe maşina dumneavoastră. De exemplu, dacă aveţi 3 procesoare ce rulează pe maşina dumneavoastră, introduceţi-Xgcthreads 3. Pe un nod cu n procesoare, numărul implicit de fire de execuţie este n.
Specificaţi -Xnocompactgc dacă doriţi să dezactivaţi compactarea heap. Compactarea heap este cea mai scumpă operaţie de colectare gunoi. Dacă utilizaţi IBM Developer Kit, ar trebui să evitaţi compactarea heap. Dacă dezactivaţi compactarea heap, eliminaţi toate regiile asociate.
Specificaţi -Xgcpolicy pentru a seta politica colectării gunoiului. Acest argument este valid doar pentru the IBM Developer Kit.
Setaţi acest argument pe optthruput dacă doriţi să optimizaţi debitul şi nu se creează o problemă dacp survin pauze lungi în timpul colectării gunoiului. Acesta este parametrul implicit, setarea recomandată.
Setaţi acest argument pegencon, dacă utilizaţi un colector gunoi generaţional. Schema generaţională încearcă să atingă un debit înalt împreună cu reducerea timpurilor de pauză a colectării gunoiului. Pentru a realiza acest scop, heap-ul este separat în segmente noi şi segmente vechi. Obiectele care au trăit mult sunt promovate în spaţiul vechi, pe când obiectele cu viaţă scurtă sunt colectate repede în spaţiul nou. Politica gencon furnizează beneficii semnificante pentru multe aplicaţii. Totuşi nu este potrivit pentru toate aplicaţiile, şi este de obicei mai dificil de ajustat.
Setaţi acest argument pe optavgpause, dacă doriţi semnarea concurentă utilizată să urmărească firele de execuţie ale aplicaţiei ce pornesc din stivă înainte ca heap-ul să devină complet. Când acest parametru este specificat, pauzele colectorului de gunoi devin uniforme şi pauzele lungi nu sunt aparente. Totuşi, utilizarea acestei politici reduce debitul deoarece firele de execuţie ar putea trebui să lucreze suplimentar.
Setaţi acest argument pe subpool, dacă doriţi să creşteţi performanţa pe sistemele multiprocesor, care utilizează de obicei mai mult de opt procesoare. Această politică este disponibilă doar pe procesoarele IBM System i, System p, şi System z. Politica subpool este asemănătoare cu politica optthruput în afara faptului că heap-ul este divizat în subpool-uri care furnizează scalabilitate îmbunătăţită pentru alocarea obiectului.
Java Platform, Standard Edition 6 (Java SE 6) are colectare gunoi generare, ceea ce permite pool-urilor de memorie separate să conţină obiecte de vârste diferite. Ciclul de colectare gunoi colectează obiectele independent unul de altul în funcţie de vârstă. Cu parametri adiţionali, puteţi seta dimensiunea pool-urilor de memorie individual. Pentru a realiza o mai bună performanţă, setaţi dimensiunea pool-ului ce conţine obiectele care au cicluri scurte de viaţă, astfel încât obiectele din pool nu sunt ţinute prin mai mult de un ciclu de colectare gunoi. Utilizaţi parametri NewSize şi MaxNewSize pentru a specifica dimensiunea noului pool generare.
-XX:NewSize=lower_bound -XX:MaxNewSize=upper_bound -XX:SurvivorRatio=new_ratio_size
Alternativ, aţi putea seta 50% pâna la 60% din dimensiunea heap totală unui nou pool generare.
Specificaţi-Xminf dacă doriţi să modificaţi minimuil de procentaj al dimensiunii heap libere. Heap-ul se măreşte dacă spaţiul liber este sub cantitatea specificată. În modul resetare activată, acest argument specifică minimul procentajului de spaţiu liber pentru heap-urile middleware şi transient. Valoarea specificată pentru acest argument este un număr în virgulă mobilă, de la 0 la 1. Implicit este .3 (30 procent).
Specificaţi argumentul -Xshareclasses:none pentru a dezactiva opţiunea clase partajate pentru un proces. Opţiunea clase partajate, care este disponibilă cu Java SE 6, vă lasă să împărţiţi clasele într-un cache. Partajarea claselor în cache poate îmbunătăţi timpul de startup şi reduce spaţiu ocupat al memoriei. Procesele, precum serverele de aplicaţii, agenţii nod şi managerii de implementare, pot utiliza opţiunile claselor partajare.
Dacă utilizaţi această opţiune, ar trebui să curăţaţi cache-ul atunci când proceul nu este utilizat. Pentru a curăţa cache-ul, fie apelaţi utilitatea app_server_root/bin/clearClassCache.bat/sh sau opriţi procesul şi apoi reporniţi procesul.
Tip de date | Şir |
Unităţi | Java argumente linie de comandă |
Specifică un nume cale complet pentru un fişier executabil JAR pe care codul JVM îl utilizează.
Tip de date | Şir |
Unităţi | Nume cale |
Specifică dacă să se dezactiveze opţiunea compilatorului JIT (just-in-time) al codului JVM.
Dacă dezactivaţi compilatorul JIT, debitul descreşte observabil. Astfe, din motive de performanţă, păstraţi JIT activat.
Tip de date | Boolean |
Implicit | fals (activat JIT) |
Recomandat | Activat JIT |
Specifică setările JVM pentru un sistem de operare dat.
Când procesul porneşte, procesul utilizează setările JVM care sunt specificate pentru server ca setările JVM pentru sistemul de operare.
Când procesul începe , procesul utilizează setările JVM specificate pentru nod ca setări JVM pentru sistemul de operare.
Legăturile marcate (online) necesită acces la internet.