服务器sysctl内核调优参数, 新思路

网上看到一些别人的sysctl调优片段,你也看不懂里面的意思,都不知道抄谁的更好,那怎么办,这时就可以参考gpt的答案来调整,
对你来说,抄别人的你也看不懂多少,抄gpt的你也看不懂,但gpt比小白更懂一点。这里就可以通过提示语来抄作业:
注:尽量选择高级点的AI模型来使用,优先选择有思考能力的,下面答案使用的是 GPT-4.1

提问:

vps服务器是1核1G , 带宽1G ,需要减少网络延迟和抖动,服务器上部署了网盘服务,需要上传和下载文件,还部署了依赖udp的服务,请提供调优参数,并整合调整下面的两份参数以适合服务器使用。


第一份:
net.core.rmem_max = 67108848
net.core.wmem_max = 67108848
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_rmem = 16384 16777216 536870912
net.ipv4.tcp_wmem = 16384 16777216 536870912
net.ipv4.tcp_adv_win_scale = -2
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_ecn=2
net.ipv4.tcp_slow_start_after_idle=0
net.ipv4.tcp_fastopen=3

fs.file-max = 1000000
fs.inotify.max_user_instances = 8192

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_tw_reuse = 1
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.route.gc_timeout = 100

net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.core.somaxconn = 32768
net.core.netdev_max_backlog = 32768
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_max_orphans = 32768


第二份:
net.ipv4.tcp_congestion_control=bbr


# 提高系统允许的最大连接数
fs.file-max = 100000

# 提升最大半开连接数
net.ipv4.tcp_max_syn_backlog = 2048

# 允许重用处于TIME-WAIT状态的socket用于新的TCP连接
net.ipv4.tcp_tw_reuse = 1

# 减少FIN-WAIT-2状态的时间
net.ipv4.tcp_fin_timeout = 15

# 提升本地端口范围
net.ipv4.ip_local_port_range = 1024 65000

# 启用TCP窗口缩放选项
net.ipv4.tcp_window_scaling = 1


# 增加TCP接收和发送缓冲区大小
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# UDP接收缓冲区大小调整
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288

# 增加UDP socket队列长度
net.core.netdev_max_backlog = 5000

# 提高UDP接收缓冲区默认值
net.ipv4.udp_mem = 65536 131072 262144
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384

# 调整swappiness降低交换倾向
vm.swappiness = 10

# 设定脏页刷新比率
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5

# 控制脏数据写回磁盘的频率
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100


AI回答:(下面的答案就是可以抄的部分,根据我提供的场景做了调整)

你的VPS服务器配置为“1核1G内存,1G带宽”,同时需要优化TCP(上传/下载文件)和UDP(实时服务)网络,目标是减少延迟和抖动,同时保证资源不会被超量参数拖垮。下面是基于你两份参数的合理整合和适配建议,并附有每项参数的简要说明。


适合1核1G VPS的推荐 sysctl.conf 优化参数

# ---------- 基础文件句柄 ----------
fs.file-max = 100000         # 1G内存足够,防止过载,100000较为稳妥
fs.inotify.max_user_instances = 1024  # 适度即可

# ---------- TCP 优化 ----------
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 2048   # 1G内存建议不超过2048~4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_fin_timeout = 15         # 减少TIME_WAIT时间
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_max_orphans = 4096       # 1G内存建议不超过4096
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_adv_win_scale = -2
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_ecn = 2
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = bbr

# ---------- UDP 优化 ----------
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
net.ipv4.udp_mem = 65536 131072 262144
net.ipv4.udp_rmem_min = 16384
net.ipv4.udp_wmem_min = 16384

# ---------- 网络队列 ----------
net.core.netdev_max_backlog = 5000    # 适度,防止丢包

# ---------- 端口范围 ----------
net.ipv4.ip_local_port_range = 1024 65000

# ---------- 路由相关 ----------
net.ipv4.route.gc_timeout = 100

# ---------- 队列和调度 ----------
net.core.default_qdisc = fq           # 配合BBR减少延迟

# ---------- 内存相关 ----------
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100

参数说明与调优思路

  • TCP/UDP缓冲区:1G内存下,rmem/wmem最大值建议不超过16MB,UDP单socket最大524288更稳妥。
  • 队列与backlog:过大容易撑爆内存,4096/5000已足够。
  • BBR+FQ:BBR拥塞控制+FQ队列调度,极大降低延迟和抖动,适合高带宽低延迟场景。
  • TIME_WAIT等优化:减少TIME_WAIT数量/时间,提升短连接性能。
  • 文件句柄:100000即可,防止极端情况下资源耗尽。
  • 内存/脏页:适当降低swappiness和dirty比例,提升I/O响应。
  • 端口范围:最大化并发连接能力。

适用场景说明

  • 网盘上传/下载:TCP参数保证大文件高效传输。
  • UDP服务:UDP队列和缓冲区防止丢包,适合实时性强的业务。
  • 高并发/大带宽:BBR+FQ配合1G带宽,提升带宽利用率,降低延迟。

应用方法

  1. 将上述内容保存至 /etc/sysctl.conf 或 /etc/sysctl.d/99-tune.conf
  2. 执行 sysctl -p 或 sysctl --system 使参数生效

原创文章,作者:mantou,如若转载,请注明出处:https://v2ez.com/1513.html

(0)
mantoumantou
上一篇 2025年6月30日
下一篇 2023年6月20日

相关推荐

发表回复

登录后才能评论