Advanced ethernet adapter driver settings are extremely configurable finding sensible values can be tricky without testing the connection. This post explains what each setting means and lists recommended values that will maximise your home network’s throughput and minimise CPU overhead (based on my own experience.) A maximum transfer rate of 114Mb/s was achieved with these settings on a 1 Gigabit connection. <!–more–> This is quite impressive considering the theoretical maximum for these connections is 125Mb/s. My computers use different types of Ethernet adapters (Realtek and Intel) and the terminology is different between these two models but I try my best to accommodate for both vendors.
1 Adaptive Inter-Frame Spacing (Intel)
Recommended Setting | Disabled |
Effect on Throughput | negative, in quiet networks |
Effect on CPU Utilisation | none |
This introduces a time gap between packages sent into the network to help compensate for excessive packet collisions on the network. This would only be an issue on large networks (no home network would ever need this, trust me.) Only one computer can send data across a network at a time and TCP uses multiplexing protocols to decide which computer and for how long they get to send. If multiple computers send packets at the same, they collide on the Ethernet line which causes them to corrupt. This is why time gaps between sent packets could improve performance on very busy networks. The effect is negligible on home networks.
2 Enable PME
Recommended Setting | Disabled |
Effect on Throughput | none |
Effect on CPU Utilisation | none |
The setting is in brackets because it is really up to you to decide if you need this feature. PME stands for Power Management Event and the feature wakes up your computer on receipt of a signal from the network.
Advertisement Begins
Advertisement End
3 Energy Efficient Ethernet
Recommended Setting | Disabled |
Effect on Throughput | negative |
Effect on CPU Utilisation | positive |
If you favour performance over energy efficiency then turn any energy saving features off. This feature may be called “Advanced EEE” (Energy Efficient Ethernet) for Realtek Ethernet Adapters
4 Flow Control
Recommended Setting | Rx & Tx Enabled |
Effect on Throughput | positive, reduces packet loss |
Effect on CPU Utilisation | positive, as fewer packets are wrapped and sent |
It is a really good idea to enable this. Flow control allows the receiving device to tell the sending device that it is struggling to keep up with all the incoming packets. This allows the sender to slow down and therefore reduce the amount of lost and timed out packets being sent through the network. Disabling this would mean that TCP re-transmits timed out and lost packets as the sender didn’t receive an ACK for those packets. This means that there are now even more packets in the network and the receiving host has even more incoming packets to process. There are advantages and disadvantages to enabling this setting. If you are a flow control expert please correct me in the comments and I will append your advise.
5 Gigabit Master Slave Mode
Recommended Setting | Automatic |
Effect on Throughput | none (negative is both hosts have same mode or the connection is 10/100Mbps) |
Effect on CPU Utilisation | none |
Multi-port devices such as routers are automatically assigned Master mode. Leave Auto Detect to let the network adapters figure this out by themselves (based on the IEEE 802.3ab standard.) If a device is forced to master mode and connects the another Ethernet adapter in master mode, the connection can either disconnect or downshift to 100Mbps. If you are experiencing slow connections, this should be a setting to change you should keep an eye on. If in doubt, use the recommended setting.
6 Green Ethernet (Realtek)
Recommended Setting | Enabled |
Effect on Throughput | none |
Effect on CPU Utilisation | none |
When enabled, this Realtek adapter feature senses the length of the plugged in Ethernet cable and adjusts the voltage of the output signal accordingly. This should have no effect on CPU and network throughput and it saves energy.
7 Interrupt Moderation
Recommended Setting | Enabled |
Effect on Throughput | none |
Effect on CPU Utilisation | none |
Interrupt moderation, when enabled, allows you to set an interrupt moderation rate which determined how frequently, the system stops performing everyday tasks to focus on processing incoming or outgoing packets.
8 Interrupt Moderation Rate
Recommended Setting | Adaptive |
Effect on Throughput | higher rate, more throughput |
Effect on CPU Utilisation | higher rate, more CPU usage |
Sets the rate at which the Ethernet adapter interrupts the system to perform networking related tasks (such as processing incoming and outgoing packets). A lower rate makes the system respond to new packets quicker but may reduce the performance of other applications running on the system. A larger value implied the adapter interrupts the system less frequently. This makes the system more responsive and this setting is especially useful for sending and receiving large amounts of data.
9 IPv4 Checksum Offload
Recommended Setting | Rx & Tc Enabled |
Effect on Throughput | none |
Effect on CPU Utilisation | positive |
Offloading checksum calculation to hardware components is always a good idea to relief the processor from having to do that work. Same goes for TCP and UDP Checksum Offload (IPv4 and IPv6).
10 Jumbo Packet (MTU)
Recommended Setting | [9014 Bytes] |
Effect on Throughput | positive |
Effect on CPU Utilisation | positive |
Jumbo packet increase the payload size per packet sent across the network, thereby reducing TCP/IP overhead and CPU utilisation. Enable this only if your connection is 1Gigabits per second and all devices on your network support this feature. Also make sure to set the Jumbo Frame size to the same value across all your devices. In my case 9014bytes is the largest value all of my networking hardware supports. Jumbo Frames are implemented differently across different vendors, so if you run into problems try disabling this before tweaking other settings.