Intel® Ethernet 600 Series

Linux Performance Tuning Guide

ID Date Version Classification
861164 07/29/2025 Public

A newer version of this document is available. Customers should click here to go to the newest version.

​CPU Utilization

Check CPU utilization per core while the workload is running. Note that utilization per core is more relevant to performance than overall CPU utilization since it provides an idea of the CPU utilization per network queue. If you have only a few threads running network traffic, then you might only have a few cores being used. However, if those cores are at 100%, then your network throughput is likely limited by CPU utilization and it is time to perform the following:

​Increase the number of application threads to spread out the CPU load over more cores. If all cores are running at 100% then your application might be CPU bound rather than network bound.

Commonly available tools to monitor CPU core utilization:

  • top
    • Press 1 to expand list of CPUs and check which ones are being used.
    • Notice the level of utilization.
    • Notice which processes are listed as most active (top of list).
  • mpstat

    The following example command line was tested on Red Hat Enterprise Linux 9.x. It displays CPU utilization per core (by finding the total percent idle and subtracting from 100) and highlights the values above 80% in red.

    mpstat -P ALL 1 1 | grep -v Average | tail -n +5 | head -n -1 | awk '{ print (100-$13)}' | egrep '[^\.][8-9][0-9][\.]?.*|^[8-9][0-9][\.]?.*| 100' | column
  • perf top

    Look for where cycles are being spent.