Udostępnij przez


Często zadawane pytania dotyczące uruchamiania poleceń platformy Azure dla języka Java (publiczna wersja zapoznawcza)

Zawiera odpowiedzi na często zadawane pytania dotyczące modułu uruchamiania poleceń platformy Azure dla języka Java.

W jaki sposób to narzędzie różni się od polecenia java?

Polecenie java uruchamia maszynę wirtualną HotSpot JVM (Java Virtual Machine) z ustawieniami domyślnymi, chyba że użytkownik jawnie skonfigurował. jaz to komponent programu Azure Command Launcher dla Javy, który uruchamia java przy użyciu sprawdzonych w boju, zoptymalizowanych pod kątem chmury domyślnych ustawień dostrajania JVM, zaprojektowanych w celu zwiększenia wydajności i opłacalności na maszynach wirtualnych i w kontenerach platformy Azure.

Kluczowa korzyść: deweloperzy nie muszą ręcznie dostroić maszyny JVM. jaz robi to dla nich.

Co się stanie, jeśli w moim środowisku ustawiono już niektóre opcje JVM?

Jeśli obciążenie zawiera flagi dostrajania JVM, jaz polecenie nie stosuje własnych ustawień domyślnych dostrajania. jaz uruchamia się java z wybraną flagą.

Zalecamy usunięcie flag dostrajania obciążenia i umożliwienie Azure Command Launcher for Java zastosowanie własnych.

Można również skonfigurować jaz tak, aby ignorowało flagi dostrajania i korzystało z domyślnych ustawień dostrajania. Rozważ użycie tej konfiguracji do weryfikacji jaz przy użyciu minimalnej zmiany konfiguracji obciążenia. W tym celu ustaw następującą zmienną środowiskową:

export JAZ_IGNORE_USER_TUNING=1

Ustawienie ignoruj dostrajanie użytkownika dotyczy argumentów wiersza polecenia, zmiennych środowiskowych odczytanych przez java, i @-files.

Można również skonfigurować jaz , aby pominąć wszystkie ustawienia domyślne dostrajania, ustawiając następującą zmienną środowiskową:

export JAZ_BYPASS=1

Opcja obejścia pozwala na zarejestrowanie się w programie Uruchamianie Poleceń na platformie Azure dla Java bez wpływu na bieżące dostrajanie, nawet jeśli obciążenie wykorzystuje domyślne zachowanie polecenia java. To zachowanie może być przydatne do zweryfikowania zachowania narzędzia przed wyczyszczeniem flag dostrajania JVM.

Może być również przydatne zrezygnowanie z dostrajania podczas rozwiązywania problemu, który wydaje się być związany z dostrajaniem JVM.

Jakie opcje JVM są uznawane za flagi dostrajania?

Polecenie jaz uwzględnia większość flag rozpoczynających się od -X lub -XX jako flagę dostrajania, taką jak -Xmx<size>. Godnym uwagi przykładem flagi rozpoczynającej się od -X , ale nie jest flagą dostrajania jest -Xlog:<opts>.

Dokładniej mówiąc, każda opcja JVM jest oceniana przy użyciu logiki na poniższej liście. Ta lista zawiera opis logiki w najnowszej wersji modułu uruchamiania poleceń platformy Azure dla języka Java.

  1. Jeśli opcja rozpoczyna się od dowolnego tekstu innego niż -X, nie jest to flaga dostrajania.
  2. Jeśli opcja jest zgodna z dowolnym z tych wyrażeń regularnych, nie jest to flaga dostrajania:
    • ^-Xlog.+$
    • ^-XX:ErrorFile=.*$
    • ^-XX:[+-]?HeapDump.*$
    • ^-XX:[+-].*OnOutOfMemoryError$
  3. W przeciwnym razie opcja jest flagą dostrajania.

Podczas wyszukiwania flag dostrajania, jaz analizuje przekazane mu argumenty oraz automatycznie odczytywane zmienne środowiskowe przez java. Zmienne środowiskowe to:

  • Java 8: JAVA_TOOL_OPTIONS, _JAVA_OPTIONS
  • Środowisko Java 9 lub nowsze: JAVA_TOOL_OPTIONS, , JDK_JAVA_OPTIONS_JAVA_OPTIONS

jaz obsługuje również pliki @-files, znane również jako pliki argumentów wiersza polecenia.

Czy mogę przekazać flagi agenta Java podczas korzystania z narzędzia?

Yes. Nadal można przekazywać -javaagent i inne flagi, które nie dostrajają flag i jaz honoruje je. Możesz zachować przydatne flagi diagnostyczne, takie jak:

  • -Xlog do rejestrowania
  • -javaagent w przypadku usługi Application Insights lub innych agentów instrumentacji programu Application Performance Monitoring (APM)

Czy narzędzie jest zgodne ze środowiskami spoza platformy Azure?

jaz jest projektowany i testowany głównie dla kontenerów platformy Azure i maszyn wirtualnych, ale może działać technicznie w innym miejscu. Jednak niektóre zaawansowane optymalizacje i przyszłe funkcje mogą być specyficzne dla platformy Azure.

Czy narzędzie jest dostępne dla systemu Windows Server?

jaz jest obecnie dostępny dla systemu Linux w środowiskach x64 i arm64. Jeśli masz natychmiastową potrzebę systemu Windows Server, skontaktuj się z nami pod adresem openjdk-support@microsoft.com

Narzędzie Azure Command Launcher dla języka Java zostało przetestowane i certyfikowane tylko z pełnymi instalacjami zestawu JDK. Może to nie działać poprawnie z:

  • Instalacje środowiska JRE (Java Runtime Environment)
  • Niestandardowe środowiska uruchomieniowe jlink

Pełne instalacje zestawu JDK obejmują wszystkie narzędzia i biblioteki, które jaz wymagają prawidłowego działania. Środowiska uruchomieniowe JRE i niestandardowe środowiska uruchomieniowe jlink mogą nie mieć niektórych z tych składników, co może uniemożliwić jaz funkcjonowanie zgodnie z oczekiwaniami.

Jeśli musisz użyć jaz, upewnij się, że uruchamiasz pełną instalację pakietu JDK z obsługiwanej kompilacji opartej na OpenJDK.