Adjust Network Adapter Interrupt Moderation in Regedit
This article explains how to configure network adapter interrupt moderation settings in the Windows Registry (Regedit) to optimize high-throughput network interfaces for either maximum data throughput or minimal latency. Modifying these registry keys directly allows precise control over how the network interface card (NIC) batches packet interrupts before passing them to the CPU.
Understanding Interrupt Moderation
Interrupt Moderation (also known as Interrupt Throttling) allows the network adapter to queue multiple network packets and generate a single interrupt to the operating system rather than interrupting the CPU for every incoming packet.
- Higher Moderation / Enabled: Reduces CPU utilization and stabilizes performance for high-bandwidth, bulk data transfers (ideal for file servers and 10GbE/40GbE/100GbE high-throughput interfaces).
- Lower Moderation / Disabled: Reduces packet latency by processing frames immediately, at the cost of higher CPU overhead (ideal for ultra-low-latency applications and financial trading).
Step 1: Locate the Network Adapter Registry Key
Network adapter settings in Windows are stored under a specific global unique identifier (GUID) in the registry.
Press
Win + R, typeregedit, and press Enter to open the Registry Editor.Navigate to the following path:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}Expand this key. You will see numbered subkeys (e.g.,
0000,0001,0002).Click through each numbered folder and inspect the
DriverDescvalue in the right-hand pane until you find the exact name of your high-throughput network adapter (e.g., Intel Ethernet Controller, Mellanox ConnectX, or Broadcom NetXtreme).
Step 2: Modify or Add Interrupt Moderation Keys
Once you are in the correct subfolder for your adapter, you can adjust the moderation state and moderation rate.
1. Enable or Disable Interrupt Moderation
Look for the *InterruptModeration or
InterruptModeration value: * If it exists, double-click it.
* If it does not exist, right-click the empty space, select New
> String Value (or DWORD (32-bit) Value,
depending on the driver’s standard format; typically
String), and name it *InterruptModeration. *
Value Data: * 1 = Enabled (Default,
optimized for throughput) * 0 = Disabled (Optimized for
minimal latency)
2. Set the Interrupt Moderation Rate / Throttle Rate
Different vendors utilize standardized or vendor-specific keys to
define moderation aggressiveness. The standard Windows key is
*ITR (Interrupt Throttle Rate).
- Look for
*ITRorITRin the same subfolder. If absent, create a new String Value named*ITR. - Set the Value Data according to your requirements:
0= Off (No moderation)65535(orAdaptive) = Adaptive (Dynamically adjusts based on traffic type)2000= Low (~2000 interrupts/sec; lowers latency while providing minimal CPU savings)950= Medium (~950 interrupts/sec; balanced performance)400= High (~400 interrupts/sec; maximum throughput and lowest CPU usage)200= Extreme (Reserved for high-bandwidth interfaces under heavy saturation)
(Note: Some drivers accept direct numeric rates representing the maximum interrupts per second, while others accept descriptive profiles. Check your NIC manufacturer’s documentation if the adapter requires custom integer masks).
Step 3: Apply the Changes
Registry changes to network adapters do not take effect immediately. To apply the modifications:
- Close the Registry Editor.
- Open Device Manager
(
devmgmt.msc). - Expand Network adapters, right-click your modified adapter, and select Disable device.
- Right-click the adapter again and select Enable device.
- Alternatively, restart the system to ensure all driver stack layers reload the updated registry parameters.