You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/virtual-machines/vm-customization.md
+20-16Lines changed: 20 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,7 @@ ms.date: 10/21/2025
9
9
ms.author: eehindero
10
10
ms.reviewer: mimckitt
11
11
---
12
-
# VM Customization Feature: Diable Simultaneous Multi-Threading (SMT/HT) and Configurable Constrained Cores (Preview)
12
+
# VM Customization Feature: Disable Simultaneous Multi-Threading (SMT/HT) and Configurable Constrained Cores (Preview)
13
13
14
14
VM Customization is a new Azure VM feature that gives you greater control over the CPU resources of a virtual machine. It consists of two related capabilities:
15
15
@@ -29,36 +29,39 @@ There's _no extra charge_ to use these CPU configuration options. The base VM pr
29
29
30
30
You can configure the "Threads per core" and "vCPUs available" settings using the Azure portal, Azure Resource Manager templates (ARM), or command-line tools.
31
31
32
-
## Azure Portal
32
+
## Azure portal
33
33
34
34
In the Azure portal, the VM creation workflow has a UI for these options.
35
35
36
36
Start creating a VM as usual (for example, click **Create a resource > Virtual Machine** and fill out the Basics tab).
37
37
38
-
In the Size section of the Basics tab, select a VM size that you want to use. Under the size selection, click the "Customize cores" button. This opens more fields for VM Customization.
38
+
1.In the Size section of the Basics tab, select a VM size that you want to use. Under the size selection, click the "Customize cores" button. This opens more fields for VM Customization.
39
39
40
-
To disable SMT, set Threads per core to 1. (Leave it at 2 if you want to keep hyperthreading enabled.)
40
+
2.To disable SMT, set Threads per core to 1. (Leave it at 2 if you want to keep hyperthreading enabled.)
41
41
42
-
To the vCPU count, set vCPUs available to your desired number of vCPUs. The portal provides valid values for the chosen VM size.
42
+
3.To the vCPU count, set vCPUs available to your desired number of vCPUs. The portal provides valid values for the chosen VM size.
43
43
44
-
Continue with the rest of the VM creation (set up disks, networking, etc.) and create the VM.
44
+
4.Continue with the rest of the VM creation (set up disks, networking, etc.) and create the VM.
45
45
46
46
Once the VM is deployed, it has the specified number of vCPUs. If you set Threads per core to 1, the VM's OS sees half the usual number of processors (since hyperthreading is off). If you reduced vCPUs, it would see that lower count.
47
47
48
48
## Azure CLI
49
49
50
-
To disable SMT and configure cores during instance launch
50
+
To disable SMT and configure cores during instance launch:
51
51
52
52
To disable SMT/HT, use the Azure CLI command and specify a value of 1 for vCPUsPerCore for the--cpu-options parameter. To configure cores, specify the number of CPU cores for vCPUsAvailable. In this example, to specify the default CPU core count for a Standard_D8s_v6 instance, specify a value of 8.
To disable SMT and configure cores during instance launch
59
61
60
62
Use PowerShell and specify the properties on the underlying configuration object. To disable SMT/HT, specify a value of 1 for vCPUsPerCore for the --cpu-options parameter. To configure cores, specify the number of CPU cores for vCPUsAvailable.
Then proceed to set OS, network, etc., and use New-AzVM to create the VM. This approach uses the Azure PowerShell SDK objects directly to inject the values.
71
75
72
76
## ARM Template (Azure Resource Manager)
@@ -85,8 +89,8 @@ Here are brief examples of ARM template snippets for different scenarios:
85
89
86
90
This snippet shows the setting to turn off SMT on a VM (the VM uses 1 thread per core)
87
91
88
-
JSON
89
-
```
92
+
93
+
```json
90
94
"properties": {
91
95
92
96
"hardwareProfile": {
@@ -111,8 +115,8 @@ In this case, if Standard_D8s_v6 normally has 8 vCPUs (4 cores * 2 threads), set
111
115
112
116
This snippet shows a VM configured to use a specific number of vCPUs (fewer than the default)
113
117
114
-
JSON
115
-
```
118
+
119
+
```json
116
120
"properties": {
117
121
118
122
"hardwareProfile": {
@@ -137,8 +141,8 @@ Here, we requested two cores. On Standard_D8s_v6 (which is hyperthreaded by defa
137
141
138
142
You can combine both settings as shown:
139
143
140
-
JSON
141
-
```
144
+
145
+
```json
142
146
"properties": {
143
147
144
148
"hardwareProfile": {
@@ -183,4 +187,4 @@ Most Azure VM families support these features, but there are some important rule
183
187
184
188
- Anytime you resize a VM (either within the same series or to a different series), a VM reboot occurs. Plan for downtime during the resize operation.
185
189
186
-
- In preview, only first-party Azure marketplace images (Windows Server, Ubuntu, Red Hat, SUSE, etc.) and custom images are supported.
190
+
- In preview, only first-party Azure Marketplace images (Windows Server, Ubuntu, Red Hat, SUSE, etc.) and custom images are supported.
0 commit comments