Ezen az oldalon megtekintheti és módosíthatja egy alkalmazáskiszolgálóhoz tartozó folyamat Java virtuális gép (JVM) konfigurációs beállításait.
Az adminisztrációs konzol ezen oldalának megtekintéséhez csatlakozzon az adminisztrációs konzolhoz, és nyissa meg a Java virtuális gép panelt.
Az IBM i és az osztott környezetek esetén kattintson a Kiszolgálók >
Kiszolgálótípusok > WebSphere alkalmazáskiszolgálók > kiszolgáló_neve elemre. Majd a Kiszolgáló infrastruktúra szakaszban kattintson a Java és folyamatkezelés >
Folyamatmeghatározás > Java virtuális számítógép elemre.
Alkalmazáskiszolgáló | Kattintson a Kiszolgálók>Kiszolgálótípusok>WebSphere alkalmazáskiszolgálók> kiszolgáló_neve elemre. Majd a Kiszolgáló infrastruktúra szakaszban kattintson a Java és folyamatkezelés > Folyamatmeghatározás > Vezérlés > Java virtuális számítógép elemre. |
Telepítéskezelő | Kattintson a Rendszeradminisztráció > Telepítéskezelő elemre. Majd a Kiszolgáló infrastruktúra szakaszban kattintson a Java és folyamatkezelés > Folyamatmeghatározás > Vezérlés > Java virtuális számítógép elemre. |
Csomópontügynök | Kattintson a Rendszeradminisztráció > Csomópontügynök > csomópontügynök elemre. Majd a Kiszolgáló infrastruktúra szakaszban kattintson a Java és folyamatkezelés > Folyamatmeghatározás > Java virtuális számítógép elemre. |
Alkalmazáskiszolgáló | Kiszolgálók > Kiszolgálótípusok > WebSphere alkalmazáskiszolgálók > kiszolgáló_neve. Majd a Kiszolgáló infrastruktúra szakaszban kattintson a Java és folyamatkezelés > Folyamatmeghatározás > Java virtuális számítógép elemre. |
Telepítéskezelő | Rendszeradminisztráció > Telepítéskezelő. Majd a Kiszolgáló infrastruktúra szakaszban kattintson a Java és folyamatkezelés > Folyamatmeghatározás > Java virtuális számítógép elemre. |
Csomópontügynök | Rendszeradminisztráció > Csomópontügynök > csomópontügynök. Majd a Kiszolgáló infrastruktúra szakaszban kattintson a Java és folyamatkezelés > Folyamatmeghatározás > Java virtuális számítógép elemre. |
A szabványos osztályútvonalat határozza meg, amelyben a Java virtuális gép kód osztályokat keres.
Ha osztályútvonalat kell hozzáadnia a mezőhöz, akkor az egyes osztályútvonal bejegyzéseket külön táblázatsorokba írja be. Az egyes bejegyzések végére nem szükséges kettőspontot vagy pontosvesszőt tenni.
Adattípus | Karaktersorozat |
Meghatározza a JVM kód betöltő osztályait és erőforrásait. Ez a lehetősége csak azoknak a JVM utasításoknak az esetében érhető el, amelyek támogatják a betöltő osztályokat és erőforrásokat.
Ha osztályútvonalat kell hozzáadnia a mezőhöz, akkor az egyes osztályútvonal bejegyzéseket táblázatsorokba írja be. Az egyes bejegyzések végére nem szükséges pontosvesszőt tenni.
Ha több osztályútvonalat kell hozzáadnia, akkor kettősponttal (:) vagy pontosvesszővel (;) válassza el őket egymástól, a JVM operációs rendszerétől függően.
Ha több osztályútvonalat kell hozzáadnia a mezőhöz, akkor kettősponttal (:) vagy pontosvesszővel (;) válassza el őket egymástól, a csomópont operációs rendszerétől függően.
Megadja, hogy az osztálybetöltéskor részletes hibakeresési kimenetet kell-e készíteni. Alapértelmezésben a részletes osztálybetöltés nincs engedélyezve.
Ha a részletes osztálybetöltés engedélyezve van, akkor a
hibakeresés kimenete a natív folyamatnaplók valamelyikébe kerül.
Adattípus | Logikai |
Alapértelmezett | false |
Megadja, hogy a szemétgyűjtéskor részletes hibakeresési kimenetet kell-e készíteni. Alapértelmezésben a részletes szemétgyűjtés nem engedélyezett.
Ha a részletes szemétgyűjtés engedélyezve van, akkor a hibakeresés
kimenete a natív folyamatnaplók valamelyikébe kerül.
Adattípus | Logikai |
Alapértelmezett | false |
Ha ez a mező engedélyezett, akkor a rendszer egy jelentést ír a kimeneti adatfolyamhoz minden alkalommal, amikor a hulladékgyűjtő fut. A felhasználó ebből a jelentésből értesülhet arról, hogyan működik a Java szemétgyűjtés.
83.29/3724.32 * 100 = 2.236%
Ha az idő több mint 5 százalékát tölti szemétgyűjtéssel, és gyakran történik szemétgyűjtés, akkor érdemes növelni a Java kupacméretet.
A következő módon állapíthatja meg, hogy a lefoglalt kupac növekszik-e: nézze meg, hogy a kupac hány százaléka marad kiosztatlan az egyes szemétgyűjtések után, és ellenőrizze, hogy ez a százalékérték folyamatosan csökken-e. Ha a szabad terület aránya folyamatosan csökken, az azt jelenti, hogy a kupacméret fokozatosan nő minden egyes szemétgyűjtés alkalmával. Ez arra utalhat, hogy az alkalmazásban memóriaszivárgás van.
z/OS
platformon az
MVS
konzol modify display, jvmheap parancsával is
megjelenítheti a JVM kupac információit. Továbbá ellenőrizheti
a kiszolgálótevékenységet és az SMF rekordok tartományát. A JVM kupacméret elérhető a PMI számára is, és megfigyelhető
a
Tivoli
teljesítmény-megjelenítővel.
Megadja, hogy a natív metódushíváskor részletes hibakeresési kimenetet kell-e készíteni. Alapértelmezésben a részletes Java natív felület (JNI) tevékenység nem engedélyezett.
Adattípus | Logikai |
Alapértelmezett | false |
A JVM kód számára elérhető kiinduló kupacméretet adja meg megabyte-ban. Ha ez a mező üres, akkor az alapértelmezett érték kerül felhasználásra.
z/OS rendszeren a vezérlő alapértelmezett kiinduló
kupacmérete 48 MB, az alrendszer kiinduló kupacmérete pedig 128 MB. Ezek az alapértékek a
31-bites és a 64-bites konfigurációkhoz is alkalmazhatók.
IBM i és osztott platformok esetén az
alapértelmezett kiinduló kupacméret 50 MB.
A beállítás növelése gyorsíthatja az indulást. A szemétgyűjtések előfordulása csökken, és 10%-os teljesítménynövekedés érhető el.
A Java kupac méretének növelése javítja a teljesítményt mindaddig, amíg a kupac túl nagy nem lesz ahhoz, hogy a fizikai memóriában legyen. Ha a kupacméret meghaladja a rendelkezésre álló fizikai memóriát, és lapozásra van szükség, akkor érzékelhetően csökken a teljesítmény.
A JVM kód számára elérhető maximális kupacméretet adja meg megabyte-ban. Ha ez a mező üres, akkor az alapértelmezett érték kerül felhasználásra.
Az alapértelmezett maximális kupacméret 256 MB. Ez az alapérték a 31-bites és a 64-bites konfigurációkra s vonatkozik.
A maximális kupacméret növelése gyorsíthatja az indulást. A maximális kupacméret növelésével csökkentheti a szemétgyűjtés előfordulását, ami 10% teljesítménynövekedéssel járhat.
A beállítás növelése általában javítja a teljesítményt mindaddig, amíg a kupac túl nagy nem lesz ahhoz, hogy a fizikai memóriában legyen. Ha a kupacméret meghaladja a rendelkezésre álló fizikai memóriát, és lapozásra van szükség, akkor érzékelhetően csökken a teljesítmény. Ezért fontos, hogy olyan értéket adjon meg ehhez a tulajdonsághoz, amely lehetővé teszi, hogy a kupacoz a fizikai memória tartalmazza.
A lapozás megelőzése érdekében olyan értéket kell adni a tulajdonságnak, amely
legalább 256 MB fizikai memóriát engedélyez minden processzor számára, illetve 512
MB fizikai memóriát minden alkalmazáskiszolgáló számára. Ha lapozás miatt a processzor kihasználtsága
alacsony, akkor ha lehetséges növelje a szabad memóriát, a maximális kupacméret
növelése helyett. A maximális kupacméret növelése csökkentheti a
teljesítményt (ahelyett hogy javítaná).
IBM i rendszerek esetén ha ennek a tulajdonságnak
0 az értéke, akkor a szemétgyűjtő csak akkor fut
le, ha a rendszer elérte a szemétgyűjtő küszöbértéket. Ha 0-tól különböző érték van
megadva, akkor a szemétgyűjtő mindig lefut, ha a kupacméret eléri a megadott maximális
méretet. A normál szemétgyűjtővel ellentétben azonban, ha a kupac elérte a maximális
méretet, akkor minden alkalmazásszálnak meg kell várnia, amíg a szemétgyűjtési folyamat
befejeződik, és csak azután futhatnak tovább. Ez nem kívánt várakozásokat okozhat. Ezért
a biztonság érdekében a maximális kupacméretet kell használni, hogy kezelni tudja a
váratlan kupacnövekedéseket, és hogy a kupac ne nőjön nagyobbra a rendelkezésre álló
memória méreténél. Normális körülmények között a rendszer soha nem éri el a megadott
maximális kupacméretet.
Megadja, hogy használja-e a HProf profilozó támogatást. Ha másik profilkészítőt kíván használni, akkor adja meg az egyéni profilozó beállításait a HProf argumentumok beállításával. Alapértelmezésben a HProf profilozó támogatás nem engedélyezett.
Ha a HProf futtatása tulajdonság értéke igaz, akkor meg kell adni a parancssoros profilozó paramétereit a HProf argumentumok tulajdonság értékeiként.
Adattípus | Logikai |
Alapértelmezett | false |
Megadja a parancssoros profilozó argumentumait, amelyeket az alkalmazáskiszolgáló folyamatot indító JVM kód kap meg. Az argumentumokat akkor lehet megadni, ha a HProf profilozó támogatás engedélyezett.
A HProf argumentumokat csak akkor kell megadni, ha a HProf futtatása tulajdonság értéke igaz.
Megadja, hogy a JVM-et hibakeresés módban kell-e indítani. Alapértelmezésben a hibakeresés mód nem engedélyezett.
Ha a Hibakeresés mód tulajdonság értéke igaz, akkor meg kell adni a parancssoros hibakeresés paramétereit a Hibakeresés argumentumok tulajdonság értékeiként.
Adattípus | Logikai |
Alapértelmezett | false |
Megadja a parancssoros hibakeresés argumentumait, amelyeket az alkalmazáskiszolgáló folyamatot indító JVM kód kap meg. Az argumentumokat akkor lehet megadni, ha a Hibakeresés mód értéke igaz.
Ha ugyanazon a csomóponton több alkalmazáskiszolgálón is engedélyezi a hibakeresést, akkor győződjön meg róla, hogy különböző értékek vannak megadva a cím paraméterben. A cím paraméter határozza meg a hibakereséshez használt portot. Ha két kiszolgáló számára, amelyeken engedélyezve van a hibakeresés, ugyanaz a hibakeresési port van megadva, akkor előfordulhat, hogy a kiszolgálók nem indulnak megfelelően. Például megtörténhet, hogy mindkét kiszolgálón az alapértelmezett hibakeresési cím argumentum (address=7777) marad beállítva.
Ha több alkalmazáskiszolgálón is engedélyezi a hibakeresést, akkor győződjön meg róla, hogy különböző értékek vannak megadva a cím paraméterben. A cím paraméter határozza meg a hibakereséshez használt portot. Ha két kiszolgáló számára, amelyeken engedélyezve van a hibakeresés, ugyanaz a hibakeresési port van megadva, akkor előfordulhat, hogy a kiszolgálók nem indulnak megfelelően. Például megtörténhet, hogy mindkét kiszolgálón az alapértelmezett hibakeresési cím argumentum (address=7777) marad beállítva.
Adattípus | Karaktersorozat |
Egység | Java parancssori argumentumok |
Az alkalmazáskiszolgálót indító Java virtuális gép számára átadandó parancssori argumentumokat határozza meg.
A hotRestartSync segítségével engedélyezhető a szinkronizálási szolgáltatás forró újraindítási szinkronizálás szolgáltatása. Ez a szolgáltatás jelzi a szinkronizálási szolgáltatásnak, hogy a telepítés fut egy olyan környezetben, ahol a konfigurációs frissítések nem kerülnek végrehajtásra, ha a telepítéskezelő nem aktív. Ezért a szolgáltatásnak nem kell egy teljes lerakatösszehasonlítást végrehajtani, a ha a telepítéskezelő vagy a csomópontügynök kiszolgálók újraindulnak. A szolgáltatás engedélyezése növeli az első szinkronizálási művelet hatékonyságát, miután a telepítéskezelő vagy a csomópontügynök újraindul, különösen olyan környezetekben, amelyek különböző kiadási cellákat tartalmaznak, sok csomópontot használnak, valamint számos alkalmazást futtatnak.
Ez az argumentum csak z/OS platformon érvényes. A -Dcom.ibm.CORBA.RequestTimeout=időkorlát argumentum segítségével meghatározhatja az ügyfelektől jövő kérésekre adott válasz időkorlátját. Ez az argumentum a -D paramétert használja. Az időkorlát az időtúllépés értéke másodpercben. Ha a használt hálózaton nagyobb várakozási idő tapasztalható, akkor adjon meg egy nagyobb értéket, hogy megelőzze az időtúllépéseket. Ha túl kicsi értéket ad meg, akkor egy terheléskezelésben résztvevő alkalmazáskiszolgáló átlépheti az időkorlátot, mielőtt megkapná a választ.
Csak akkor adja meg ezt a paramétert, ha az alkalmazásban időtúllépési problémákat tapasztal. Ennek az argumentumnak nincs javasolt értéke.
Ez az argumentum csak z/OS platformon érvényes. A -Dcom.ibm.websphere.wlm.unusable.interval=időkorlát paraméter segítségével megváltoztathatja a com.ibm.websphere.wlm.unusable.interval tulajdonság értékét, ha az ügyfél terheléskezelési állapota túl korán vagy túl későn frissül. Ez a tulajdonság megadja, hogy a terheléskezelő ügyfél hány másodpercig várjon azt követően, hogy egy kiszolgálót elérhetetlennek nyilvánít, mielőtt újra megpróbálna csatlakozni a kiszolgálóhoz. Ez az argumentum a -D paramétert használja. . Az alapértelmezett érték 300 másodperc. Ha a tulajdonság értéke túl nagy, akkor a kiszolgáló hosszabb ideig lesz elérhetetlennek jelölve. Ez megakadályozza, hogy a terhelésirányítás frissítési protokollja frissítse az ügyfél terhelésirányítási állapotát, amíg az időtartam nem ér véget.
Ez az argumentum csak z/OS platformon érvényes. A -Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl= argumentummal megadható, hogy az egyes közvetlen bytepuffereket fel kell szabadítani, amint a pufferre már nincs szükség. Az argumentum egyetlen támogatott értéke: com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl.
-Dcom.ibm.ws.buffermgmt.impl.WsByteBufferPoolManagerImpl=com.ibm.ws.buffermgmt.impl.ZOSWsByteBufferPoolManagerImpl
z/OS platformon is meg kell adni ezt az argumentumot, ha
használja a TCP csatorna zaioFreeInitialBuffers
egyéni tulajdonságát, annak érdekében, hogy a csatorna felszabadítsa az új
kapcsolatok által használt kezdeti olvasási puffereket, ha a kapcsolatnak
már nincs szüksége rájuk.
A Java SE 6 kiadásban alkalmazott Java HotSpot technológia bevezet egy adaptív JVM-et, amely a bytekód végrehajtását futás közben optimalizálni képes algoritmusokat tartalmaz. A JVM két módban futhat: -server és -client módban. A legtöbb esetben a -server mód használandó, amely hatékonyabb futás közbeni teljesítményt biztosít hosszú időn keresztül.
Az alapértelmezett -client mód használatával rövidebb lesz a kiszolgáló indítási ideje, és kisebb lesz a memóriaigény. Ez a mód azonban csökkenti a hosszútávú teljesítményt. Inkább a -server módot használja, ami javítja a teljesítményt, kivéve ha a kiszolgáló indítási ideje fontosabb mint a teljesítmény. Ha kíváncsi a -client és a -server mód közötti teljesítménykülönbségre, akkor figyelje meg a folyamat méretét és a kiszolgáló indulási idejét.
Az -Xverify:none paraméter segítségével kihagyható az osztályellenőrzés az osztálybetöltés során. Az -Xverify:none beállítás letiltja a Java osztályellenőrzést, ami 10-15 százalékkal javíthatja az indítási időt. A rendszer azonban nem észleli a sérült vagy érvénytelen osztályadatokat, ha ez a paraméter meg van adva. Sérült osztályadatok betöltése esetén a JVM nem várt módon viselkedhet vagy meghibásodhat.
Az -Xnoclassgc beállítással letiltható az osztályokra vonatkozó szemétgyűjtés. Az argumentum hatására javul az osztályok újrafelhasználása, és némileg a teljesítmény is. Az osztályok tulajdonában lévő erőforrások azonban akkor is használatban maradnak, ha az osztályokat nem hívják meg.
A verbose:gc konfigurációs beállítás segítségével megfigyelheti a szemétgyűjtést. A keletkező kimenet alapján megállapítható, hogy milyen hatást gyakorol a teljesítményre az erőforrások visszaigénylése.
A -Xnoclassgc argumentum megadása esetén az alkalmazás korábbi verziójához tartozó osztály és statikus adatok törléséhez mindig indítsa újra az alkalmazáskiszolgálót, ha újratelepített egy alkalmazást.
Az -Xgcthreads segítségével egyszerre több szemétgyűjtő szál is használható. Ezt a szemétgyűjtési eljárást párhuzamos szemétgyűjtésnek is nevezik. Ez az argumentum csak az IBM Developer Kit esetén érvényes.
Ha megadja ezt az értéket az Általános JVM argumentumok mezőben, akkor adja meg a gépben levő processzorok számát is. Például egy 3 processzoros gép esetében ezt írja be: -Xgcthreads 3. Egy n processzorral rendelkező csomóponton a szálak alapértelmezett száma n.
Az -Xnocompactgc beállítással letiltható a kupactömörítés. A kupac tömörítése a legdrágább szemétgyűjtési művelet. IBM Developer Kit használata esetén kerülje a kupac tömörítését. Ha letiltja a kupac tömörítését, akkor megszünteti az összes ehhez kapcsolódó többletterhelést.
Az -Xgcpolicy argumentummal megadható a szemétgyűjtési irányelv. Ez az argumentum csak az IBM Developer Kit esetén érvényes.
Az argumentumot optthruput értékre állítva optimalizálhatja a teljesítményt, és nem keletkezik probléma a hosszú szemétgyűjtési szünetek esetén. Ez az alapértelmezett és ajánlott beállítás.
Állítsa az argumentumot gencon értékre, ha generációs szemétgyűjtőt használ. Ez a generációs séma megkísérel magas teljesítményértéket elérni csökkentett szemétgyűjtési szünetek mellett. Ezen cél eléréséhez a kupac új és régi szegmensekre kerül felosztásra. A régóta fennálló objektumok a régi területre kerülnek, míg az újabb objektumokra vonatkozóan gyorsan elvégzésre kerül a szemétgyűjtés az új területen. Ez a gencon irányelv jelentős előnyöket biztosít sok alkalmazás számára. Nem megfelelő azonban minden alkalmazás esetén, és általában nehezebb a behangolása.
Az argumentumot állítsa optavgpause értékre, ha párhuzamos jelölést akar használni a veremből induló alkalmazásszálak követésére, mielőtt a kupac megtelne. Ha ez a paraméter meg van adva, akkor a szemétgyűjtések közti szünetek egyenletessé válnak, és nincsenek hosszú várakozások. Azonban az irányelv használata csökkentheti a teljesítményt, mivel a szálakra több munka hárulhat.
Állítsa ezt az argumentumot subpool értékre, ha növelni akarja a teljesítményt a többprocesszoros rendszereken, amelyek általában több, mint nyolc processzort használnak. Ez az irányelv csak IBM System i, System p és System z processzoroknál elérhető. A subpool irányelv hasonló a optthruput irányelvhez, kivéve, hogy a kupac alkészletekre kerül felosztásra, ami fejlettebb méretezhetőséget biztosít az objektumkiosztáshoz.
A Java Platform, Standard Edition 6 (Java SE 6) generációs szemétgyűjtéssel rendelkezik, ami lehetővé teszi, hogy külön memóriatárakba kerüljenek a különböző korú objektumok. A szemétgyűjtő az egymástól eltérő korú objektumokat egymástól függetlenül gyűjti be. További paraméterekkel az egyes memóriatárak mérete külön állítható. A jobb teljesítmény érdekében úgy állítsa be a rövid életciklusú objektumokat tartalmazó tár méretét, hogy az abban tárolt objektumokat ne őrizze meg egy szemétgyűjtési ciklusnál tovább. Az új generációs tár méretének meghatározásához használja a NewSize és a MaxNewSize paramétereket.
-XX:NewSize=alsó_határ -XX:MaxNewSize=felső_határ -XX:SurvivorRatio=új_arány_mérete
Ennek alternatívájaként beállíthatja a teljes kupacméret 50-60 százalékát az új generációs tárnak.
Az -Xminf paraméter segítségével módosíthatja a minimális szabad kupacméret arányát. Ha a szabad terület a megadott érték alá megy, akkor a kupac megnő. Visszaállítás engedélyezése módban ez az argumentum meghatározza a szabad terület minimális arányát a köztes és az átmeneti kupacok számára. Az argumentum értéke egy 0 és 1 közötti lebegőpontos szám. Az alapérték .3 (30%).
Az -Xshareclasses:none argumentum használatával letiltható az osztálymegosztás a folyamatra vonatkozóan. Az osztályok megosztása beállítás, amely elérhető a Java SE 6 változatban, lehetővé teszi az osztályok megosztását a gyorsítótárban. Egy gyorsítótárban az osztályok megosztása gyorsíthatja az indítási időt és csökkentheti a memória erőforrásigényét. A folyamatok, úgymint az alkalmazáskiszolgálók, csomópont ügynökök és telepítéskezelők használhatják az osztálymegosztás lehetőséget.
A beállítás használatakor ürítse ki a gyorsítótárat, amikor a folyamat nincs használatban. A gyorsítótár kiürítéséhez hívja meg a(z) app_server_root/bin/clearClassCache.bat/sh segédprogramot, vagy állítsa le, majd indítsa újra a folyamatot.
Adattípus | Karaktersorozat |
Egység | Java parancssori argumentumok |
Megadja a JVM kód által használt végrehajtható JAR fájl teljes elérési útját.
Adattípus | Karaktersorozat |
Egység | Elérési út |
Megadja, hogy tiltott legyen-e a JVM kód JIT fordító lehetősége.
A JIT fordító tiltása esetén a teljesítmény érezhetően csökken. Ezen okból kifolyólag a JIT fordító lehetőleg engedélyezett legyen.
Adattípus | Logikai |
Alapértelmezett | false (JIT engedélyezett) |
Ajánlott | JIT engedélyezett |
Meghatározza a JVM beállításokat az adott operációs rendszerre.
Induláskor a folyamat a kiszolgálónak megadott JVM beállításokat használja az operációs rendszernek megadott JVM beállításokként.
Induláskor a folyamat a csomópontnak megadott JVM beállításokat használja az operációs rendszernek megadott JVM beállításokként.
A jelzett hivatkozások (online) Internet-hozzáférést igényelnek.