Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Vm vCore-aanpassing is een nieuwe Azure VM-functie waarmee u meer controle hebt over de CPU-resources van een virtuele machine. Het bestaat uit twee gerelateerde mogelijkheden:
Gelijktijdige multithreading uitschakelen (threads per kern = 1): Hiermee kunt u een VIRTUELE machine met slechts één thread per fysieke CPU-kern uitvoeren, waardoor gelijktijdige multithreading (SMT) effectief wordt uitgeschakeld. Als u de VM uitschakelt, wordt elke fysieke kern volledig gebruikt, waardoor de prestaties voor bepaalde workloads (zoals sommige HPC- of latentiegevoelige toepassingen) kunnen worden verbeterd die profiteren van exclusieve kerntoegang.
Configureerbare beperkte kernen (vCPU's aanpassen): hiermee kunt u een aangepast aantal vCPU's voor een nieuwe VIRTUELE machine kiezen, lager dan het standaardaantal voor die VM-grootte. Hiermee kunt u alleen de CPU-kernen toewijzen die u nodig hebt, bijvoorbeeld om licentiekosten te verlagen voor software die per kern is gelicentieerd (zoals databases of analyseservers), terwijl u nog steeds het volledige geheugen en I/O van een grotere VIRTUELE machine krijgt.
Voordelen: Met deze functies kunt u VM's optimaliseren voor zowel prestaties als kosten:
Voorstelling: Het uitschakelen van hyperthreading kan consistentere en soms hogere prestaties van één thread bieden door conflicten tussen threads op dezelfde kern te elimineren.
Kostenoptimalisatie: Door het aantal vCPU's van een VIRTUELE machine te verminderen, kunnen de kosten voor software die per CPU in rekening worden gebracht, verlagen. U kunt een geheugenintensieve SQL Server uitvoeren op een VIRTUELE machine met minder actieve vCPU's, waarbij sql-licentiekosten worden beperkt zonder te betalen voor ongebruikte CPU-capaciteit.
Er zijn geen extra kosten verbonden aan het gebruik van deze CPU-configuratieopties. De basis-VM-prijs blijft hetzelfde als wanneer u de vm met de volledige grootte met standaardinstellingen hebt geïmplementeerd. Klanten krijgen echter lagere licentiekosten voor software die per vCPU wordt gefactureerd.
Configuratie van VM-aanpassingsinstellingen
U kunt de instellingen 'Threads per kern' en 'beschikbare vCPU's' configureren met behulp van Azure Portal, Azure Resource Manager-sjablonen (ARM) of opdrachtregelprogramma's.
Azure Portal
In De Azure-portal heeft de werkstroom voor het maken van vm's een gebruikersinterface voor deze opties.
Begin met het maken van een virtuele machine zoals gebruikelijk (klik bijvoorbeeld op Een virtuele resource > maken en vul het tabblad Basisbeginselen in).
Selecteer in de sectie Grootte van het tabblad Basisbeginselen een VM-grootte die u wilt gebruiken. Klik onder de grootteselectie op de knop Kernen aanpassen. Hiermee opent u meer velden voor VM-aanpassing.
Als u SMT wilt uitschakelen, stelt u threads per kern in op 1. (Laat dit op 2 staan als u hyperthreading ingeschakeld wilt houden.)
Stel het aantal vCPU's in op het gewenste aantal vCPU's. De portal biedt geldige waarden voor de gekozen VM-grootte.
Ga verder met de rest van de VM-creatie (stel schijven, netwerken enzovoort in) en maak de VIRTUELE machine.
Zodra de virtuele machine is geïmplementeerd, heeft deze het opgegeven aantal vCPU's. Als u threads per kern instelt op 1, ziet het besturingssysteem van de VIRTUELE machine de helft van het gebruikelijke aantal processors (omdat hyperthreading is uitgeschakeld). Als u de vCPU's hebt verlaagd, zou dat lagere aantal worden weergegeven.
Azure-opdrachtregelinterface (CLI)
SMT uitschakelen en kernen configureren tijdens het starten van het exemplaar:
Als u SMT/HT wilt uitschakelen, gebruikt u de Azure CLI-opdracht en geeft u een waarde op van 1 voor vCPUUsPerCore voor de parameter --cpu-options. Als u kernen wilt configureren, geeft u het aantal CPU-kernen op voor vCPU'sAvailable. Als u in dit voorbeeld het standaardaantal CPU-kernen voor een Standard_D8s_v6-exemplaar wilt opgeven, geeft u een waarde van 8 op.
Az vm create --resource-group ccctest-rg-01 --name ccctestvm01 --image Ubuntu2204 --size Standard_D8s_v6 --location eastus2euap --admin-username azureuser --generate-ssh-keys --public-ip-address '""' --v-cpus-available 4 --v-cpus-per-core 1
PowerShell
SMT uitschakelen en kernen configureren tijdens het starten van exemplaren
Gebruik PowerShell en geef de eigenschappen op voor het onderliggende configuratieobject. Als u SMT/HT wilt uitschakelen, geeft u een waarde op van 1 voor vCPUUsPerCore voor de parameter --cpu-options. Als u kernen wilt configureren, geeft u het aantal CPU-kernen op voor vCPU'sAvailable.
$vmConfig = New-AzVMConfig -VMName "MyVM" -VMSize "Standard_D8s_v6"
$vmConfig.HardwareProfile.VmSizeProperties = New-Object Microsoft.Azure.Management.Compute.Models.VMSizeProperties
$vmConfig.HardwareProfile.VmSizeProperties.VCPUsAvailable = 4
$vmConfig.HardwareProfile.VmSizeProperties.VCPUsPerCore = 1
Ga vervolgens verder met het instellen van het besturingssysteem, het netwerk, enzovoort en gebruik New-AzVM om de virtuele machine te maken. Deze benadering maakt rechtstreeks gebruik van de Azure PowerShell SDK-objecten om de waarden te injecteren.
ARM-sjabloon (Azure Resource Manager)
Voor automatisering of scenario's waarin u moet implementeren via infrastructuur als code, kunt u Azure Resource Manager-sjablonen gebruiken om deze CPU-opties op te geven. Dit kan worden gebruikt om SMT uit te schakelen en aangepaste VM's te implementeren via CLI of PowerShell (door een sjabloon te implementeren).
In de resourcedefinitie van uw ARM-sjabloon voor de virtuele machine worden de CPU-opties opgegeven onder de eigenschap hardwareProfile van de virtuele machine. U gebruikt met name vmSizeProperties in hardwareProfile om de waarden in te stellen:
vCPUUsPerCore: stel dit in op 1 om hyperthreading uit te schakelen (bijvoorbeeld 1 thread per kern). Laat deze eigenschap weg of stel deze in op null/2 om de standaard hyperthreading (2 threads per kern) te gebruiken.
vCPUUsAvailable : stel dit in op het aantal vCPU's dat u wilt activeren. Als deze eigenschap niet is ingesteld, gebruikt de VM het standaardaantal vCPU's voor die grootte.
Hier volgen korte voorbeelden van ARM-sjabloonfragmenten voor verschillende scenario's:
SMT uitschakelen (SMT/HT uit)
Dit fragment toont de instelling voor het uitschakelen van SMT op een VIRTUELE machine (de VM gebruikt 1 thread per kern)
"properties": {
"hardwareProfile": {
"vmSize": " Standard_D8s_v6",
"vmSizeProperties": {
"vCPUsPerCore": 1
}
},
...
}
Als Standard_D8s_v6 normaal gesproken 8 vCPU's (4 kernen * 2 threads) heeft, betekent het instellen van vCPUsPerCore: 1 betekent dat de VM 4 vCPU's (één per kern) heeft.
Aantal vCPU's beperken (Cores aanpassen)
Dit fragment toont een VM die is geconfigureerd voor het gebruik van een specifiek aantal vCPU's (minder dan de standaardinstelling)
"properties": {
"hardwareProfile": {
"vmSize": " Standard_D8s_v6",
"vmSizeProperties": {
"vCPUsAvailable": 2
}
},
...
}
Hier hebben we twee kernen aangevraagd. Op Standard_D8s_v6 (die standaard hyperthreaded is), worden 2 fysieke kernen toegewezen en omdat SMT nog steeds standaard is ingeschakeld (2 threads per kern), heeft de VM vier logische vCPU's.
SMT uitschakelen en vCPU's aanpassen
U kunt beide instellingen combineren zoals wordt weergegeven:
"properties": {
"hardwareProfile": {
"vmSize": " Standard_D8s_v6",
"vmSizeProperties": {
"vCPUsPerCore": 1,
"vCPUsAvailable": 2
}
},
...
}
In dit voorbeeld schakelt vCPUUsPerCore: 1 SMT en vCPUUsAvailable uit: 2 vraagt vervolgens 2 vCPU's aan. Met SMT uitgeschakeld corresponderen die twee een-op-een met twee fysieke kernen (zonder threading). De VIRTUELE machine heeft twee logische processors in het besturingssysteem.
Zorg ervoor dat u een API-versie 2021-07-01 of hoger gebruikt voor de resource Microsoft.Compute/virtualMachines in uw sjabloon, aangezien deze eigenschappen zijn geïntroduceerd.
Ondersteunde vCores identificeren voor configuratie
Als u wilt bepalen welke vCPU's in een specifieke regio kunnen worden beperkt, kunt u de Azure CLI of Azure Portal gebruiken.
Azure CLI gebruiken
Voer de volgende opdracht uit om de lijst met reken-SKU's voor uw abonnement en regio op te halen:
az vm list-skus --location {location} --resource-type virtualMachines --query "[name=='VM_NAME_HERE']"
- Met deze opdracht worden de ondersteunde vCPU-configuraties weergegeven. Het veld 'vCPUsConstraintsAllowed' beschrijft ondersteunde vCores.
Azure Portal gebruiken
Als u een vCPU-configuratie aanvraagt die niet wordt ondersteund, wordt in de portal een foutbericht weergegeven en wordt een lijst weergegeven met ondersteunde vCPU-opties voor die VM-grootte.
Overwegingen
De meeste Azure VM-families ondersteunen deze functies, maar er zijn enkele belangrijke regels en overwegingen die u moet begrijpen wanneer u de functie gebruikt:
U kunt hyperthreading alleen uitschakelen voor VM-grootten die standaard gebruikmaken van hyperthreading (bijvoorbeeld VM's met 2 threads per kern).
U kunt alleen het aantal vCPU's verminderen , niet verhogen buiten de standaardwaarde van de virtuele machine. De opgegeven vCPU-waarde moet kleiner zijn dan of gelijk zijn aan het standaard aantal vCPU's van de gekozen VM-grootte.
Op VM-grootten die hyperthreaded zijn (standaard 2 threads/core), moet elk aangepast aantal vCPU's een even getal zijn.
U kunt hyperthreading uitschakelen en vCPU's tegelijkertijd beperken op dezelfde VIRTUELE machine. In dit geval zijn beide bovenstaande regels van toepassing.
CPU-opties kunnen alleen worden opgegeven tijdens het maken van vm's of tijdens een bewerking voor het wijzigen van de grootte. U kunt het aantal kernen of SMT op een toegewezen VM niet dynamisch aanpassen. Voor deze update moet de toewijzing van de virtuele machine ongedaan worden gemaakt.
Als u overgaat naar een nieuwe VM-grootte in dezelfde familie die ook de functie ondersteunt, worden uw instellingen standaard overgedragen.
Als u de grootte wijzigt naar een VM-grootte die de instelling niet ondersteunt, wordt de bewerking geblokkeerd of treedt er een fout op.
Telkens wanneer u de grootte van een VIRTUELE machine wijzigt (binnen dezelfde reeks of in een andere reeks), wordt de VM opnieuw opgestart. Plan downtime tijdens de resizing bewerking.
In preview worden alleen eigen Azure Marketplace-installatiekopieën (Windows Server, Ubuntu, Red Hat, SUSE, enzovoort) en aangepaste installatiekopieën ondersteund. De gespecialiseerde Marketplace-aanbiedingen, zoals SQL Server op virtuele machines, worden niet ondersteund.