Poskytuje odpovědi na běžné otázky týkající se spouštěče příkazů Azure pro Javu.
Jak se tento nástroj liší od příkazu Java?
Příkaz java spustí HotSpot JVM (Java Virtual Machine) s výchozím nastavením, pokud ho uživatel explicitně nenakonfiguruje.
jaz je součástí spouštěče příkazů Azure pro Javu, spouštějící java s osvědčenými, pro cloud optimalizovanými výchozími nastaveními ladění JVM, navrženými k zlepšení výkonu a nákladové efektivity na virtuálních strojích a kontejnerech Azure.
Klíčovou výhodu: Vývojáři nemusí ručně ladit prostředí JVM.
jaz dělá to pro ně.
Co se stane, když už v prostředí nastavím některé možnosti prostředí JVM?
Pokud vaše úloha obsahuje příznaky ladění JVM, jaz příkaz nepoužije vlastní výchozí nastavení ladění.
jaz
java spustí s příznaky, které jste zvolili.
Doporučujeme odebrat příznaky ladění úloh a nechat spouštěč příkazů Azure pro Javu použít vlastní.
Můžete také nakonfigurovat jaz , aby ignorovala příznaky ladění a používala výchozí nastavení ladění.
Zvažte použití této konfigurace k ověření jaz s minimální změnou konfigurace úloh.
Uděláte to tak, že nastavíte následující proměnnou prostředí:
export JAZ_IGNORE_USER_TUNING=1
Nastavení ignorování ladění uživatele platí pro argumenty příkazového řádku, proměnné prostředí přečtené pomocí javaa @-files.
Můžete také nakonfigurovat jaz tak, aby přeskočí všechna výchozí nastavení jeho ladění nastavením následující proměnné prostředí:
export JAZ_BYPASS=1
Možnost obejití umožňuje připojit se ke spouštěči příkazů Azure pro Javu, aniž by to ovlivnilo aktuální ladění, i když vaše úloha používá výchozí chování java příkazu.
Toto chování může být užitečné pro ověření chování nástroje před odstraněním parametrů ladění JVM.
Při řešení potíží, které se zdá, že souvisí s laděním JVM, může být také užitečné obejít ladění.
Jaké parametry prostředí JVM se považují za příznaky ladění?
Příkaz jaz považuje většinu příznaků, které začínají s -X nebo -XX, za příznaky ladění, jako je -Xmx<size>.
Pozoruhodný příklad příznaku, který začíná -X, ale není příznakem ladění, je -Xlog:<opts>.
Přesněji řečeno, každá možnost JVM se vyhodnocuje pomocí logiky v následujícím seznamu. Tento seznam popisuje logiku v nejnovější verzi spouštěče příkazů Azure pro Javu.
- Pokud tato možnost začíná jiným textem než
-X, není to příznak ladění. - Pokud se tato možnost shoduje s některým z těchto regulárních výrazů, nejedná se o příznak ladění:
^-Xlog.+$^-XX:ErrorFile=.*$^-XX:[+-]?HeapDump.*$^-XX:[+-].*OnOutOfMemoryError$
- V opačném případě je tato možnost příznakem ladění.
Když jaz hledá příznaky ladění, zkontroluje předané argumenty a proměnné prostředí, které java automaticky čte.
Proměnné prostředí jsou:
- Java 8:
JAVA_TOOL_OPTIONS,_JAVA_OPTIONS - Java 9 a novější:
JAVA_TOOL_OPTIONS,JDK_JAVA_OPTIONS_JAVA_OPTIONS
jaz zpracovává také soubory @-files, označované také jako soubory argumentů příkazového řádku.
Je možné při použití nástroje předat parametry agenta Java?
Yes. Stále můžete předat -javaagent a další příznaky, které neslouží k ladění příznaků, a jaz respektovat je.
Můžete zachovat užitečné diagnostické příznaky, jako jsou:
-
-Xlogpro protokolování -
-javaagentpro instrumentační agenty Application Insights nebo jiných agentů instrumentace application Performance Monitoring (APM)
Je nástroj kompatibilní s prostředími mimo Azure?
jaz je navržený a otestovaný především pro kontejnery Azure a virtuální počítače, ale technicky může běžet jinde.
Některé pokročilé optimalizace a budoucí funkce ale můžou být specifické pro Azure.
Je nástroj dostupný pro Windows Server?
jaz je aktuálně k dispozici pro Linux v prostředích x64 a arm64.
Pokud potřebujete Windows Server okamžitě, kontaktujte nás na adrese openjdk-support@microsoft.com
Proč to nefunguje s runtime prostředími JRE nebo jlink?
Spouštěč příkazů Azure pro Javu se testoval a certifikoval pouze s úplnými instalacemi sady JDK. Nemusí správně fungovat s:
- Instalace prostředí JRE (Java Runtime Environment)
- Vlastní jlink runtime prostředí
Úplné instalace sady JDK zahrnují všechny nástroje a knihovny, které jaz vyžadují správné fungování. Vlastní runtimy JRE a jlink můžou postrádat některé z těchto komponent, což může bránit jaz ve fungování podle očekávání.
Pokud potřebujete použít jaz, ujistěte se, že používáte úplnou instalaci sady JDK z podporovaného sestavení založeného na openJDK.