Adjust RSS CPU Allocation Using Regedit
Receive Side Scaling (RSS) optimizes network performance by distributing incoming network traffic processing across multiple CPU cores to prevent a single processor from becoming a bottleneck. While these parameters can often be adjusted via device properties or PowerShell, configuring them through the Windows Registry Editor (Regedit) provides a direct way to enforce specific processor assignments. This guide walks you through locating your network adapter’s registry entry and modifying the relevant RSS processor allocation keys.
Step 1: Open the Registry Editor
- Press
Win + Rto open the Run dialog box. - Type
regeditand pressEnteror click OK. - Select Yes if prompted by User Account Control (UAC).
Step 2: Navigate to the Network Adapters Registry Key
In the Registry Editor address bar, navigate to the following path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}
This key contains numbered subfolders (such as 0000,
0001, 0002) representing the network
interfaces installed on your system.
Step 3: Identify Your Target Network Adapter
- Click through the numbered subkeys (
0000,0001, etc.). - In the right pane, locate the DriverDesc string value.
- Verify that the value data matches the exact name of the network adapter you wish to configure (for example, Intel(R) Ethernet Connection I219-V or Mellanox ConnectX).
Step 4: Adjust the RSS CPU Allocation Registry Values
Once inside the correct numbered subkey, look for the following DWORD (32-bit) values. If they do not exist, right-click an empty area in the right-hand pane, select New > DWORD (32-bit) Value, and name them accordingly:
*RssBaseProcNumber: Defines the lowest CPU core index assigned to RSS.- Double-click the value, switch the base to Decimal,
and enter the core number where RSS processing should begin (e.g.,
0for the first core,1to avoid CPU 0, etc.).
- Double-click the value, switch the base to Decimal,
and enter the core number where RSS processing should begin (e.g.,
*MaxRssProcessors: Defines the maximum number of logical processors used for RSS.- Double-click the value, switch the base to Decimal,
and enter the desired number of cores (commonly powers of 2, such as
2,4,8, or16).
- Double-click the value, switch the base to Decimal,
and enter the desired number of cores (commonly powers of 2, such as
*NumaNodeId(Optional): Specifies the preferred NUMA node for RSS processing on multi-socket systems. Set this to the appropriate node number if applicable.
Step 5: Apply the Changes
- Close the Registry Editor.
- Disable and re-enable your network adapter in the Network
Connections panel (
ncpa.cpl), or restart your computer to apply the new configuration.
Step 6: Verify the Configuration
To confirm that the registry changes have taken effect, open Windows PowerShell as Administrator and run:
Get-NetAdapterRssInspect the output to confirm that BaseProcessorGroup,
BaseProcessorNumber, and MaxProcessors reflect
the values you entered in the registry.