Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Command Launcher för Java (jaz) är ett enkelt verktyg som förenklar hur Java utvecklare kör sina program på Azure.
Genom att intelligent tillämpa JVM-alternativ (Java Virtual Machine) som är skräddarsydda för molnmiljöer minskar verktyget konfigurationskostnaderna och förbättrar resursutnyttjandet direkt, med högre potential för bättre prestanda.
Det här verktyget är idealiskt för utvecklare som:
- Vill ha bättre JVM-standardvärden utan att dyka djupt in i justeringsguider.
- Utveckla och distribuera molnbaserade mikrotjänster med ramverk som Spring Boot, Quarkus eller Micronaut.
- Föredrar containerbaserade arbetsflöden som Kubernetes och OpenShift.
- Distribuera Java arbetsbelastningar på Azure Container Apps, Azure Kubernetes Service, Azure Red Hat OpenShift eller Azure Virtual Machines.
Viktiga funktioner
- 🛠 Justerar automatiskt JVM-flaggor för molnbaserade distributioner.
-
🚀 Plug-and-play-upplevelse. Släpp bara i Dockerfile eller starta skriptet och ersätt
javakommandot medjaz. - ☁️ Optimerad för Azure miljöer.
- 🔧 Anpassningsbara via miljövariabler. Det finns flera sätt att distribuera konfigurationsändringar på ett säkert sätt.
Miljötyper som stöds
Azure-kommandostartaren för Java kan användas överallt där Java-startprogrammet är tillgängligt i Linux-baserade miljöer. Den har verifierats och testats på följande Azure- och CI/CD-plattformar:
- Azure Kubernetes Service (AKS)
- Azure Container Apps
- Azure App Service
- Azure Functions
- Azure Red Hat OpenShift (ARO)
- Azure Virtual Machines
- Azure DevOps
- GitHub Codespaces
- GitHub Actions
Viktigt!
Azure-kommandostartaren för Java läser cgroup v1- och v2-information för att fastställa tillgängliga resurser och justera JVM därefter.
Den avsöker filerna inom /sys/fs/cgroup för att identifiera minnesgränser och andra resursbegränsningar.
Om cgroup-filsystemet inte är monterat på /sys/fs/cgroup kanske Azure Command Launcher för Java inte identifierar containeriseringsgränser korrekt, vilket leder till dåliga prestanda eller till och med minnesfel.
Vi har inte identifierat något scenario i någon av de miljöer som stöds där detta är ett problem, men det kan vara möjligt att stöta på den här begränsningen i anpassade miljöer.
Mer information finns i "Varför spelar min cgroup-monteringspunkt roll?".
Offentlig förhandsversion
Azure-kommandostartaren för Java är nu tillgänglig i offentlig förhandsversion! Läs det offentliga förhandsversionsmeddelandet för en introduktion till det här verktyget och dess fördelar.
Så här fungerar det
Azure-kommandostartaren för Java finns mellan startkommandot för din container eller virtuella dator och JVM. När du startar verktyget gör du följande:
- Identifierar molnmiljön (till exempel containergränser och tillgängligt minne).
- Analyserar arbetsbelastningstypen och väljer JVM-justeringsflaggor som passar bäst, till exempel:
- Heapstorlekshantering.
- Val och justering av skräpinsamlare.
- Loggnings- och diagnostikinställningar efter behov.
- Startar en Java process och skickar den justeringsflaggor och eventuella argument som tillhandahålls av användaren.
- Reläerar osynligt stdout, stderr, stdin och OS-signaler till och från Java-processen.
- Övervakar Java processen och vidarebefordrar slutkoden när den avslutas.
Exempel på användning
Kommandostartaren Azure för Java är en drop-in ersättning för kommandot java, vilket inte kräver några kodändringar.
java Ersätt helt enkelt med jaz i startskripten, till exempel ersätt java -jar foo.jar med jaz -jar foo.jar.
I stället för att justera JVM-alternativen manuellt:
JAVA_OPTS="-XX:... several JVM tuning flags"
java $JAVA_OPTS -jar myapp.jar
Använd jaz:
jaz -jar myapp.jar
Som standard jaz tillämpas justeringen när den inte identifierar några justeringsflaggor som tillhandahålls av användaren.
Om Java kommandoradsargument eller Java alternativmiljövariabler redan innehåller användarspecifika justeringsflaggor (till exempel -X* eller -XX*), jaz behåller de inställningarna och lägger inte till sina egna. Om du vill framtvinga jaz att justera den (utan att ta bort användardefinierade justeringsflaggor) anger du JAZ_IGNORE_USER_TUNING=1.
Programmet kan automatiskt dra nytta av:
- Stridstestade standardvärden för molnbaserade arbetsbelastningar och containerarbetsbelastningar.
- Minskat minnesavfall i molnet.
- Bättre start- och uppvärmningsprestanda.
Installation
Anvisningar om hur du installerar Azure-kommandostartaren för Java i Linux eller hur du installerar containeravbildningar finns på sidan Installation.
Översikt
- ⚙️ JVM-konfigurationsprofiler
- 📦 Stöd för AppCDS
- 🔄 Kontinuerlig justering
- 📊 Telemetri
- 📦 Leyden-stöd
Ändringslogg
Du hittar versionsinformationen och ändringsloggen för Azure Command Launcher för Java på sidan Azure Command Launcher for Java releases.
Telemetri
Azure Command Launcher för Java samlar in användningsdata och skickar dem till Microsoft för att förbättra våra produkter och tjänster. Mer information finns i vår sekretesspolicy.