Intel® Ethernet 700/800 Series
Windows Performance Tuning Guide
CPU Affinity
When passing traffic on multiple network ports using an I/O application that runs on most or all of the cores in your system, consider setting the CPU Affinity for that application to fewer cores. This should reduce CPU utilization and, in some cases, increase throughput for the device. The cores selected for CPU Affinity must be local to the Processor Node/Group of the affected network device. You may need to increase the number of cores assigned to the application to maximize throughput.
To set CPU Affinity:
- Use this PowerShell command to list the cores that are local to a device:
Get NetAdapterRSS - List the RSS details for the device:
Get-NetAdapterRSS -Name <Adapter Name> - Set the CPU Affinity using PowerShell:
$process = Get-Process -Name <Application Name> $process.ProcessorAffinity = 0x00005555
The CPU Affinity mask (0x00005555) is a hexadecimal bitmask that sets the CPU cores for the application, <Application Name>. This example sets the CPU Affinity to use the first 8 cores on the server with the local CPU Cores 0, 2, 4, 6, 8, 10, 12, 14 (0x00005555).