Linux内核参数优化sysctl详解


Linux内核参数直接影响VPS的网络性能、内存管理和并发处理能力。合理调整sysctl参数可以让搬瓦工VPS在相同硬件下发挥更好的性能。本文详解每个关键参数的含义和推荐值,提供一套经过实践验证的优化配置。

Tip: 修改内核参数前建议备份当前配置:sysctl -a > /tmp/sysctl-backup.conf。如果修改后出现问题可以参照恢复。

一、网络核心参数(net.core)

# 套接字接收/发送缓冲区最大值
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

# 套接字默认接收/发送缓冲区
net.core.rmem_default = 262144
net.core.wmem_default = 262144

# 网络设备接收队列长度
net.core.netdev_max_backlog = 5000

# TCP连接监听队列最大长度
net.core.somaxconn = 4096

# BBR队列调度算法
net.core.default_qdisc = fq

二、TCP参数优化(net.ipv4.tcp)

# TCP拥塞控制算法
net.ipv4.tcp_congestion_control = bbr

# TCP缓冲区(最小值 默认值 最大值)
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# TCP Fast Open(加速TLS握手)
net.ipv4.tcp_fastopen = 3

# 空闲后不重置拥塞窗口
net.ipv4.tcp_slow_start_after_idle = 0

# 自动探测MTU
net.ipv4.tcp_mtu_probing = 1

# TIME_WAIT相关
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_tw_buckets = 5000

# TCP Keepalive
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3

# SYN相关
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2

# 启用SYN Cookie(防SYN Flood攻击)
net.ipv4.tcp_syncookies = 1

# 允许的最大孤儿套接字数
net.ipv4.tcp_max_orphans = 16384

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

# 启用选择性确认
net.ipv4.tcp_sack = 1

# 启用时间戳
net.ipv4.tcp_timestamps = 1

三、关键TCP参数解析

四、内存管理参数(vm)

# Swap使用积极度(VPS建议10-30)
vm.swappiness = 10

# 目录/inode缓存回收压力
vm.vfs_cache_pressure = 50

# 脏页刷写策略
vm.dirty_ratio = 20
vm.dirty_background_ratio = 5

# 内存过量使用策略
vm.overcommit_memory = 0
vm.overcommit_ratio = 50

# 最小可用内存(KB),低于此值触发回收
vm.min_free_kbytes = 65536

五、文件描述符限制

Linux默认的文件描述符限制较低,高并发场景下会成为瓶颈:

# 系统级最大文件描述符数
fs.file-max = 1048576

# 单个进程可监控的最大文件数(inotify)
fs.inotify.max_user_watches = 524288
fs.inotify.max_user_instances = 512

还需要修改用户级别的文件描述符限制:

# 编辑 /etc/security/limits.conf
cat >> /etc/security/limits.conf << 'EOF'
* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535
EOF

# 验证
ulimit -n

六、安全相关参数

# 禁止IP转发(非路由器/网关场景)
net.ipv4.ip_forward = 0

# 禁止ICMP重定向(防止路由劫持)
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

# 禁止源路由
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# 启用反向路径过滤(防IP欺骗)
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# 记录可疑数据包
net.ipv4.conf.all.log_martians = 1

# 忽略广播ICMP请求(防Smurf攻击)
net.ipv4.icmp_echo_ignore_broadcasts = 1

# 忽略错误的ICMP响应
net.ipv4.icmp_ignore_bogus_error_responses = 1

七、完整优化配置

将所有优化参数整合到一个配置文件中:

cat > /etc/sysctl.d/99-vps-optimize.conf << 'EOF'
# 网络核心
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 5000
net.core.somaxconn = 4096
net.core.default_qdisc = fq

# TCP优化
net.ipv4.tcp_congestion_control = bbr
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_fastopen = 3
net.ipv4.tcp_slow_start_after_idle = 0
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_orphans = 16384
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_sack = 1

# 内存管理
vm.swappiness = 10
vm.vfs_cache_pressure = 50
vm.min_free_kbytes = 65536

# 文件系统
fs.file-max = 1048576
fs.inotify.max_user_watches = 524288

# 安全
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.rp_filter = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
EOF

# 应用配置
sysctl -p /etc/sysctl.d/99-vps-optimize.conf

八、验证与监控

# 验证参数是否生效
sysctl net.ipv4.tcp_congestion_control
sysctl net.core.somaxconn
sysctl vm.swappiness

# 查看所有已修改的参数
sysctl -a | diff /tmp/sysctl-backup.conf -

# 查看网络连接状态统计
ss -s

# 查看TCP连接状态分布
ss -ant | awk '{print $1}' | sort | uniq -c | sort -rn

配合BBR加速性能监控工具可以全面提升VPS性能表现。

Tip: 更多教程请查看新手教程
关于本站

搬瓦工VPS中文网(bwgvps.com)是非官方中文信息站,整理搬瓦工 BandwagonHost 的优惠信息、使用教程和方案对比,方便中文用户选购和使用。

新手必读
搬瓦工优惠码

当前最大折扣优惠码:

NODESEEK2026(优惠 6.77%)

在购买方案时填入优惠码即可自动抵扣。详见 优惠码使用教程