Disable RSC (Receive Segment Coalescing)

Disable RSC (Receive Segment Coalescing)

November 2, 2024·Tyler Rasmussen
Tyler Rasmussen

Recently a number of SuperMicro servers operating as hypervisors were experiencing slow network throughout. After investigating it was determined that RSC (Receive Segment Coalescing) was the root cause of the slowdown. Disabling the feature on all NICs resolved the issue.

Here are the steps I took to disable RSC.

What is Receive Segment Coalescing?

RSC is a stateless offload technology that helps reduce CPU utilization for network processing on the receive side by offloading tasks from the CPU to an RSC-capable network adapter. CPU saturation due to networking-related processing can limit server scalability.

Source: Microsoft Docs

Physical & Virtual NICs

First determine if RSC is enabled or disabled on your host’s network adapter(s).

ℹ️
Ignore any Hyper-V vSwitches that appear for now. We’ll cover vSwitches shortly.
Get-NetAdapterRsc *

Once determined, run Disable-NetAdapterRsc to disable the feature. Note, there will be a momentary network disruption of approximately 3-4 seconds when the setting is changed. I recommend running this operation outside of normal operating hours to ensure no interruptions.

Disable-NetAdapterRsc -Name “Network Adapter Name"

If you need to re-enable RSC, you can do so with its inverse command.

Enable-NetAdapterRsc -Name “Network Adapter Name"

Hyper-V vSwitches

For vSwitches within Hyper-V, use the following commands to enable/disable the feature. You can determine if RSC is enabled via the Get-VMSwitch | Select Name,*RSC* command.

# Disables RSC.
Set-VMSwitch -Name "vSwitch" -EnableSoftwareRsc $FALSE

# Enables RSC.
Set-VMSwitch -Name "vSwitch" -EnableSoftwareRsc $TRUE

Hope that helps!