Linuxのネットワーク高速化(2025-04-04修正)

Linux

/etc/sysctl.confの末端に以下を追加し、OS起動時にも起こされる「sysctl -p」で反映。
※1: ディストリビューションにより、使用できないコンフィグがあります、エラーが吐かれた部分は飛ばしてOK。
※2: 2024-05-27 大幅修正
※3: 2025-04-04 ちょっと改善

  1. “/etc/sysctl.conf”最下行に以下を追加
    ※1 “fs.inotify.max_user_watches” : “cat /proc/sys/fs/inotify/max_user_watches”で最大値を確認
    ※2 “fs.file-max” : “cat /proc/sys/fs/file-max”で最大値を確認
# ファイルシステム設定
fs.inotify.max_user_watches = (上記※1 参照)
fs.file-max = (上記※2 参照)

# 仮想メモリ設定
vm.swappiness = 10
vm.vfs_cache_pressure = 50
vm.dirty_ratio = 20
vm.dirty_background_ratio = 5

# ネットワーク設定 - 一般
net.core.rmem_max = 33554432
net.core.wmem_max = 33554432
net.core.netdev_max_backlog = 250000
net.core.somaxconn = 4096

# ネットワーク設定 - 特定キューイング規律と輻輳制御
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

# ネットワーク設定 - TCP
net.ipv4.tcp_rmem = 4096 262144 33554432
net.ipv4.tcp_wmem = 4096 262144 33554432
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_mtu_probing = 2
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_tw_buckets = 360000
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_abort_on_overflow = 0

#↑sysctl.conf編集後、「sudo sysctl -p」を実行
  1. 通信オフロードのスイッチング
    設定をいじる前に、この外部資料を読んでから判断してNE!!
#先にethtoolコマンドをインストールしておくこと(´^ω^`)
sudo ethtool -K (NIC名、emp1s0とかeno1とか) tso on gso on gro on
sudo update-initramfs -u
sudo reboot


コメント

~