Választ ad a Java Azure Command Launcherével kapcsolatos gyakori kérdésekre.
Miben különbözik ez az eszköz a Java-parancstól?
A java parancs az alapértelmezett beállításokkal futtatja a HotSpot JVM-et (Java virtuális gépet), kivéve, ha a felhasználó kifejezetten konfigurálja.
jaz az Azure Command Launcher for Java egyik összetevője, amely csatatesztelt, felhőoptimalizált JVM-hangolási alapértelmezett beállításokkal indul java el, és az Azure-beli virtuális gépek és -tárolók teljesítményének és költséghatékonyságának javítására lett kialakítva.
Fő előny: a fejlesztőknek nem kell manuálisan hangolniuk a JVM-et.
jaz teszi őket.
Mi történik, ha már beállítok néhány JVM-beállítást a környezetemben?
Ha a számítási feladat JVM-hangolási jelzőket tartalmaz, a jaz parancs nem alkalmazza a saját hangolási alapértelmezéseit.
jaz a java kiválasztott jelzőkkel indul el.
Javasoljuk, hogy távolítsa el a munkaterhelés hangolási jelzőit, és hagyja, hogy a Java-hoz készült Azure Command Launcher alkalmazza a sajátját.
Konfigurálhatja jaz azt is, hogy figyelmen kívül hagyja a hangjelzőket, és a hangolási alapértelmezett beállításokat használja.
Fontolja meg ennek a konfigurációnak a használatát jaz ellenőrzéséhez, miközben minimálisan módosítja a számítási feladatok konfigurációját.
Ehhez állítsa be a következő környezeti változót:
export JAZ_IGNORE_USER_TUNING=1
A felhasználó figyelmen kívül hagyása beállítás a parancssori argumentumokra, az általuk beolvasott javakörnyezeti változókra és a @-filesra vonatkozik.
Úgy is konfigurálhatja jaz , hogy kihagyja az összes hangolási alapértelmezett beállítást a következő környezeti változó beállításával:
export JAZ_BYPASS=1
A megkerülési lehetőség lehetővé teszi az Azure Command Launcher for Java üzembe helyezését anélkül, hogy befolyásolná az aktuális hangolást, még akkor is, ha a számítási feladat a java parancs alapértelmezett viselkedését használja.
Ez a viselkedés hasznos lehet az eszköz teszteléséhez a JVM hangolójelzőinek törlése előtt.
JVM hangolásának megkerülése is hasznos lehet a hangolással kapcsolatos problémák elhárítása során.
Milyen JVM-beállítások minősülnek hangolási jelzőknek?
A jaz parancs a legtöbb olyan jelzőt figyelembe veszi, amelyek hangjelzővel -X kezdődnek, vagy -XX hangjelzőnek minősülnek, például -Xmx<size>.
Figyelemre méltó példa egy olyan zászlóra, amely -X kezdődik, de nem hangolási jelző -Xlog:<opts>.
Pontosabban az egyes JVM-lehetőségek kiértékelése az alábbi listában szereplő logikával történik. Ez a lista az Azure Command Launcher for Java legújabb verziójának logikáját ismerteti.
- Ha a beállítás bármilyen más szöveggel kezdődik, mint
-X, akkor az nem hangoló beállítás. - Ha a beállítás megfelel valamelyik normál kifejezésnek, az nem hangolásjelző:
^-Xlog.+$^-XX:ErrorFile=.*$^-XX:[+-]?HeapDump.*$^-XX:[+-].*OnOutOfMemoryError$
- Ellenkező esetben a beállítás egy finomhangolási jelző.
Ha jaz hangolási jelzőket keres, megvizsgálja a neki átadott argumentumokat és az automatikusan beolvasott környezeti változókat java .
A környezeti változók a következők:
- Java 8:
JAVA_TOOL_OPTIONS,_JAVA_OPTIONS - Java 9 és újabb verziók:
JAVA_TOOL_OPTIONS, ,JDK_JAVA_OPTIONS_JAVA_OPTIONS
jaz @-fájlokat is kezel, más néven parancssori argumentumfájlokat.
Átadhatom a Java-ügynök jelzőit az eszköz használatakor?
Yes. Továbbra is átadhat -javaagent és más olyan jelzőket is, amelyek nem hangolnak jelzőket, és jaz tiszteletben tartja őket.
A hasznos diagnosztikai jelzőket megtarthatja, például:
-
-Xlognaplózáshoz -
-javaagentAz Application Insights vagy más alkalmazásteljesítmény-monitorozási (APM-) rendszerállapot-ügynökök esetében
Kompatibilis az eszköz nem Azure-beli környezetekkel?
jaz Elsősorban Azure-tárolókhoz és virtuális gépekhez lett tervezve és tesztelve, de technikailag máshol is futtatható.
Egyes fejlett optimalizálások és jövőbeli funkciók azonban Azure-specifikusak lehetnek.
Elérhető az eszköz a Windows Serverhez?
jaz Jelenleg x64-en és arm64-en futó Linux rendszeren érhető el.
Ha azonnal szüksége van a Windows Serverre, lépjen velünk kapcsolatba a következő címen: openjdk-support@microsoft.com
Miért nem működik JRE- vagy jlink-futtatókörnyezetekkel?
Az Azure Command Launcher for Java tesztelése és minősítése csak teljes JDK-telepítéssel történt. Előfordulhat, hogy a következőkkel nem működik megfelelően:
- JRE (Java Runtime Environment) telepítések
- Egyéni jlink-futtatók
A teljes JDK-telepítés tartalmazza az összes olyan eszközt és kódtárat, amely jaz a megfelelő működéshez szükséges. Előfordulhat, hogy a JRE és a jlink egyéni futtatókörnyezetek nem rendelkeznek ilyen összetevőkkel, ami megakadályozhatja jaz a várt működést.
Ha jaz-t kell használni, győződjön meg arról, hogy egy támogatott, OpenJDK-alapú buildből származó teljes JDK-telepítést futtat.