Intel® Ethernet 700 Series

Linux Performance Tuning Guide

ID Date Version Classification
334019 12/09/2024 1.1 Public
Document Table of Contents

​Operating System/Kernel Settings

Consult operating system tuning guides, such as the Red Hat Enterprise Linux Network Performance Tuning Guide, for more insight on general operating system tuning.

Some common parameters to tune are listed in the following table. Note that these are only suggested starting points, and changing them from the defaults might increase the resources used on the system. Though increasing the values can help improve performance, it is necessary to experiment with different values to determine what works best for a given system, workload and traffic type.

The kernel parameters are configurable using the sysctl utility in Linux as indicated below.

To view the default values for rmem and wmem on the system:

sysctl net.core.rmem_defaultsysctl net.core.wmem_default

Set the values to max (16 MB):

sysctl -w net.core.rmem_max=16777216sysctl -w net.core.wmem_max=16777216

Socket buffer sizes, also known as receive buffer (rmem) and transmit buffer (wmem), are system parameters that specify the amount of memory reserved for incoming and outgoing network traffic.

Running sysctl without the -w argument lists the parameter with its current setting.

Stack Setting Description
net.core.rmem_​default Default Receive Window Size
net.core.wmem_​default Default Transmit Window Size
net.core.rmem_​max Maximum Receive Window Size
net.core.wmem_​max Maximum Transmit Window Size
net.core.optmem_​max Maximum Option Memory Buffers
net.core.netdev_​max_​backlog Backlog of unprocessed packets before kernel starts dropping
net.ipv4.tcp_​rmem Memory reserver for TCP read buffers
net.ipv4.tcp_​wmem Memory reserver for TCP send buffers

Kernel, network stack, memory handler, CPU speed, and power management parameters can have a large impact on network performance. A common recommendation is to apply to the network throughput profile using the tuned command. This modifies a few OS settings to provide preference to networking applications.

Check:

tuned-adm active

Set:

tuned-adm profile network-throughput