BPF-Based Automatic Tuning Tool for Linux Systems: Oracle Developed "bpftune"

guide Oracle has open sourced a BPF-based  Linux  parameter automatic tuning tool "bpftune", which is an automatic configurator that can monitor the workload of the Linux system and automatically set the correct kernel parameter values.

Oracle has open sourced a BPF-based Linux parameter automatic tuning tool "bpftune", which is an automatic configurator that can monitor the workload of the Linux system and automatically set the correct kernel parameter values.


The Linux kernel contains more than 1,500 adjustable parameters, and bpftune will automatically adjust multiple parameters continuously with the state of the system. All parameter changes are lightweight and completely real-time, and can take effect without restarting the device.

Its main benefits are:

  • Continuously monitor and tune system behavior using BPF (Berkeley Packet Filter) observability features.
  • Since more details of the system state can be observed using BPF, system behavior can be tuned at a fine-grained level.
  • Currently bpftune can automatically adjust the parameters:

  • Congestion tuner: Automatically tunes the selection of congestion control algorithms.
  • Neighbor table tuner: Automatically adjust the size of the Neighbor table by growing the table when it is close to full capacity.
  • Route table tuner: Automatically adjusts the routing table size by growing the table when it is nearly full.
  • sysctl tuner: Monitors sysctl settings and disables the associated tuner if it conflicts with autotuned sysctl values.
  • TCP buffer tuner: Automatically tunes the maximum and initial buffer sizes.
  • net buffer tuner: Automatically tunes tunable parameters related to the core network.
  • netns tuner: Monitors the addition and deletion of network namespaces, which helps to enhance the overall namespace awareness of bpftune.
  • Oracle Linux users can easily install bpftune using the DNF package manager. The bpftune code is open-sourced under the GPLv2 license and is available from the GitHub repository.

     

おすすめ

転載: blog.csdn.net/weixin_56035688/article/details/131636048