Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přizpůsobení virtuálních jader virtuálního počítače je nová funkce virtuálního počítače Azure, která poskytuje větší kontrolu nad prostředky procesoru virtuálního počítače. Skládá se ze dvou souvisejících funkcí:
Zakažte Simultaneous Multithreading (vlákna na jádro = 1): Umožňuje spustit virtuální počítač pouze s jedním vláknem na jedno fyzické jádro procesoru a efektivním způsobem vypnout Simultaneous Multithreading (SMT). Když zakážete virtuální počítač, plně využijete každé fyzické jádro, což může zvýšit výkon pro určité úlohy (například některé aplikace citlivé na prostředí HPC nebo latenci), které využívají výhradní přístup k jádrům.
Konfigurovatelná omezená jádra (přizpůsobení virtuálních procesorů): Umožňuje zvolit vlastní počet virtuálních procesorů pro nový virtuální počítač, který je nižší než výchozí počet pro danou velikost virtuálního počítače. Umožňuje přidělit jenom jádra procesoru, která potřebujete, například ke snížení licenčních nákladů na software, který je licencovaný na jádro (například databáze nebo analytické servery), zatímco stále získává plnou paměť a vstupně-výstupní operace většího virtuálního počítače.
Výhody: S těmito funkcemi můžete optimalizovat virtuální počítače pro výkon i náklady:
Představení: Zakázání hyperthreadingu může poskytovat konzistentnější a někdy vyšší výkon s jedním vláknem tím, že eliminuje kolize mezi vlákny ve stejném jádru.
Optimalizace nákladů: Snížení počtu virtuálních procesorů virtuálního počítače může snížit náklady na software, který se účtuje za procesor. Můžete spustit paměťově náročný SQL Server na virtuálním počítači s méně aktivními vCPUs, čímž snížíte náklady na licencování SQL, aniž byste platili za nevyužitou kapacitu CPU.
Za použití těchto možností konfigurace procesoru se neúčtují žádné další poplatky . Základní cena virtuálního počítače zůstane stejná, jako kdybyste nasadili virtuální počítač s plnou velikostí s výchozím nastavením. Zákazníci ale získají nižší licenční náklady na software fakturovaný za vCPU.
Konfigurace nastavení přizpůsobení virtuálního počítače
Pomocí Azure portálu, šablon Azure Resource Manager (ARM) nebo nástrojů příkazového řádku můžete nakonfigurovat nastavení "Vlákna na jádro" a "Dostupné vCPU".
Azure Portal
Na webu Azure Portal má pracovní postup vytvoření virtuálního počítače uživatelské rozhraní pro tyto možnosti.
Začněte vytvářet virtuální počítač, jak jste zvyklí (například klikněte na Vytvořit prostředek > Virtuální počítač a vyplňte kartu Základy).
V části Velikost na kartě Základy vyberte velikost virtuálního počítače, kterou chcete použít. Pod výběrem velikosti klikněte na tlačítko Přizpůsobit jádra. Otevře se další pole pro přizpůsobení virtuálního počítače.
Pokud chcete SMT zakázat, nastavte vlákna na každé jádro na 1. (Pokud chcete zachovat hyperthreading zapnutý, nechte ho na 2.)
Pro nastavení počtu virtuálních procesorů nastavte požadovaný počet virtuálních procesorů. Portál poskytuje platné hodnoty pro zvolenou velikost virtuálního počítače.
Pokračujte ve zbývající části vytváření virtuálního počítače (nastavení disků, sítí atd.) a vytvořte virtuální počítač.
Jakmile je virtuální počítač nasazený, má zadaný počet virtuálních procesorů. Pokud nastavíte vlákna na jedno jádro na 1, operační systém virtuálního počítače bude vidět polovinu obvyklého počtu fyzických procesorů (protože hyper-threading je vypnutý). Pokud byste snížili počet virtuálních procesorů, zobrazí se tento nižší počet.
Azure CLI (příkazový řádek nástroje Azure)
Zakázání SMT a konfigurace jader během spuštění instance:
Pokud chcete zakázat SMT/HT, použijte příkaz Azure CLI a jako parametr --cpu-options zadejte hodnotu 1 pro vCPUsPerCore. Pokud chcete konfigurovat jádra, zadejte počet jader procesoru pro vCPUAvailable. V tomto příkladu zadejte výchozí počet jader procesoru pro instanci Standard_D8s_v6 zadejte hodnotu 8.
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
Zakázání SMT a konfigurace jader během spuštění instance
Použijte PowerShell a zadejte vlastnosti základního objektu konfigurace. Pokud chcete zakázat SMT/HT, zadejte hodnotu 1 pro vCPUsPerCore pro parametr --cpu-options. Pokud chcete konfigurovat jádra, zadejte počet jader procesoru pro vCPUAvailable.
$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
Pak pokračujte nastavením operačního systému, sítě atd. a pomocí New-AzVM vytvořte virtuální počítač. Tento přístup používá objekty sady Azure PowerShell SDK přímo k vložení hodnot.
Šablona ARM (Azure Resource Manager)
V případě automatizace nebo scénářů, ve kterých potřebujete nasadit infrastrukturu jako kód, můžete pomocí šablon Azure Resource Manageru určit tyto možnosti procesoru. Můžete ho použít k zakázání SMT a nasazení přizpůsobených virtuálních počítačů prostřednictvím rozhraní příkazového řádku nebo PowerShellu (nasazením šablony).
V definici prostředku šablony ARM pro virtuální počítač se možnosti procesoru zadají ve vlastnosti hardwareProfile virtuálního počítače. Konkrétně použijete vmSizeProperties uvnitř hardwareProfile ke stanovení hodnot:
vCPUsPerCore – Nastavte na 1, pokud chcete zakázat hyperthreading (například 1 vlákno na jádro). Tuto vlastnost vynecháte nebo nastavíte na hodnotu null/2, pokud chcete použít výchozí hyperthreading (2 vlákna na jádro).
vCPUsAvailable – Nastavte ho na počet virtuálních procesorů, které chcete aktivovat. Pokud tato vlastnost není nastavená, použije virtuální počítač výchozí počet virtuálních procesorů pro danou velikost.
Tady jsou stručné příklady fragmentů šablon ARM pro různé scénáře:
Zakázat SMT (SMT/HT vypnuto)
Tento fragment kódu ukazuje nastavení vypnutí SMT na virtuálním počítači (virtuální počítač používá 1 vlákno na jádro).
"properties": {
"hardwareProfile": {
"vmSize": " Standard_D8s_v6",
"vmSizeProperties": {
"vCPUsPerCore": 1
}
},
...
}
V takovém případě platí, že pokud Standard_D8s_v6 obvykle má 8 virtuálních procesorů (4 jádra × 2 vlákna), nastavení vCPUsPerCore: 1 znamená, že virtuální počítač má 4 virtuální procesory (jeden na jádro).
Omezení počtu virtuálních procesorů (přizpůsobení jader)
Tento fragment kódu ukazuje virtuální počítač nakonfigurovaný tak, aby používal určitý počet virtuálních procesorů (méně než výchozí).
"properties": {
"hardwareProfile": {
"vmSize": " Standard_D8s_v6",
"vmSizeProperties": {
"vCPUsAvailable": 2
}
},
...
}
Tady jsme požadovali dvě jádra. Na Standard_D8s_v6 (který je ve výchozím nastavení hyperthreadovaný) jsou přidělena 2 fyzická jádra a protože SMT je stále zapnuté ve výchozím nastavení (2 vlákna na jádro), má VM 4 logické procesory (vCPU).
Zakázání SMT a přizpůsobení virtuálních procesorů
Obě nastavení můžete kombinovat, jak je znázorněno níže:
"properties": {
"hardwareProfile": {
"vmSize": " Standard_D8s_v6",
"vmSizeProperties": {
"vCPUsPerCore": 1,
"vCPUsAvailable": 2
}
},
...
}
V tomto příkladu vCPUsPerCore: 1 zakáže SMT a vCPUsAvailable: 2 následně požaduje 2 vCPUs. S vypnutým SMT tyto 2 odpovídají 1:1 se dvěma fyzickými jádry (bez vláken). Virtuální počítač má v operačním systému dva logické procesory.
Ujistěte se, že pro prostředek Microsoft.Compute/virtualMachines v šabloně používáte rozhraní API verze 2021-07-01 nebo novější , protože tyto vlastnosti byly zavedeny.
Identifikace podporovaných virtuálních jader pro konfiguraci
Pokud chcete zjistit, které virtuální procesory je možné omezit v konkrétní oblasti, můžete použít Azure CLI nebo Azure Portal.
Použití Azure CLI
Spuštěním následujícího příkazu načtěte seznam výpočetních SKU pro vaše předplatné a oblast:
az vm list-skus --location {location} --resource-type virtualMachines --query "[name=='VM_NAME_HERE']
- Tento příkaz exportuje podporované konfigurace vCPU. Pole "vCPUsConstraintsAllowed" popisuje podporované vCores.
Použití webu Azure Portal
Pokud si vyžádáte konfiguraci virtuálního procesoru, která není podporovaná, portál zobrazí chybovou zprávu a poskytne seznam podporovaných možností vCPU pro danou velikost virtuálního počítače.
Úvahy
Většina rodin virtuálních počítačů Azure tyto funkce podporuje, ale při používání této funkce je potřeba vzít v úvahu některá důležitá pravidla a důležité informace:
Hyperthreading můžete zakázat jenom u velikostí virtuálních počítačů, které ve výchozím nastavení používají hyperthreading (například virtuální počítače se 2 vlákny na jádro).
Můžete snížit pouze počet virtuálních procesorů, nikoli ho zvýšit nad rámec výchozího virtuálního počítače. Zadaná hodnota vCPUsAvailable musí být menší nebo rovna výchozímu počtu virtuálních procesorů zvolené velikosti virtuálního počítače.
U velikostí virtuálních počítačů, které jsou hyperthreaded (výchozí 2 vlákna nebo jádro), musí být libovolný počet vlastních virtuálních procesorů sudým číslem.
Na stejném virtuálním počítači můžete současně zakázat hyperthreading a omezení virtuálních procesorů. V tomto případě platí obě výše uvedená pravidla.
Možnosti procesoru je možné zadat pouze při vytváření virtuálního počítače nebo během operace změny velikosti. U přiděleného virtuálního počítače nemůžete dynamicky upravit počet jader ani nastavení SMT. Tato aktualizace vyžaduje uvolnění virtuálního počítače.
Pokud přejdete na novou velikost virtuálního počítače ve stejné rodině, která tuto funkci podporuje, vaše nastavení se automaticky přenesou.
Pokud změníte velikost na velikost virtuálního počítače, která nastavení nepodporuje, operace se zablokuje nebo dojde k chybě.
Kdykoli změníte velikost virtuálního počítače (buď ve stejné řadě, nebo na jinou řadu), dojde k restartování virtuálního počítače. Naplánujte výpadek během operace změny velikosti.
Ve verzi Preview se podporují jenom image z Azure Marketplace (Windows Server, Ubuntu, Red Hat, SUSE atd.) a vlastní image. Specializované nabídky Marketplace, jako je SQL Server na virtuálních počítačích, se nepodporují.