Skip to content

Performance checkpoints for Linux Optimization



  • BIOS settings: performance preference, power management
  • Is CPU frequency abnormal (related to BIOS settings)?
  • Is network card working mode abnormal?
  • Is disk or RAID/SAS card working abnormally?
  • Memory layout (bandwidth)

System Status

  • Is CPU usage abnormal (absolute values of User/Sys/Wait, proportions, etc.)?
  • Is CPU balanced?
  • Memory usage ratio
  • Is there swap, high context switch, high irq?

System Settings

  • Network card irq allocation
  • Resource limit settings
  • NUMA
  • TCP and other network parameter settings, such as buffer, congestion control algorithms, timeout settings, listen queue length
  • Whether to use features with significant impact on network performance: iptables (conntrack), bridge, (userspace) tun


  • Application network IO model
  • Small or large traffic businesses. For large traffic businesses, pay attention to packet size and PPS factors.
  • Lock usage mode
  • The way memory is used determines the requirements for memory: data crunching (bandwidth), data transfer (latency)
  • Whether it is syscall intensive
  • Whether there is a lot of userspace-kernel space copy
  • Whether there is a lot of network round trip (also see the network section)
  • Note: In fact, the above are some specific forms of the multiplication effect.
  • If there is a sudden surge, more headroom is needed for the required resources, and the thumb rule is 70% or 50%.
  • Whether there is a tipping point, whether it is running near the tipping point


  • Are there any link quality issues in the network path, such as packet loss caused by error packets or congestion?
  • Is there an incast (N-to-1) communication mode?
  • Is there a rate mismatch (10G-to-1G)?
  • Is delay friendly to N-trip access mode?

Small world. Big idea!
  • Welcome to visit the knowledge base of SRE and DevOps!
  • License under CC BY-NC 4.0
  • Made with Material for MkDocs and improve writing by generative AI tools
  • Copyright issue feedback, replace # with @