/proc/sys下内核文件与配置文件sysctl.conf中变量的对应关系:
1.去掉前面部分/proc/sys
2.将文件名中的斜杠变为点
这两条规则可以将/proc/sys中的任一文件名转换成sysctl中的变量名。
Linux内核参数配置
Linux内核参数优化
优化Linux的内核参数来提高服务器并发处理能力
内核参数文件:/etc/sysctl.conf
立即生效:/sbin/sysctl -p
// 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_syncookies = 1
// 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1
// 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_tw_recycle = 1
// 修改系統默认的TIMEOUT时间
net.ipv4.tcp_fin_timeout = 30
// 表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.tcp_keepalive_time = 1200
// 表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
net.ipv4.ip_local_port_range = 1024 65000
// 表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_syn_backlog = 8192
// 表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息
// 默认为180000,改为5000。
net.ipv4.tcp_max_tw_buckets = 5000
其他参数,暂时没用过的:
参考:https://www.cnblogs.com/weifeng1463/p/6825532.html
// 最大socket写buffer,可参考的优化值:873200
net.core.wmem_max = 212992
// 最大socket读buffer,可参考的优化值:873200
net.core.rmem_max = 212992
// TCP写buffer,可参考的优化值: 8192 436600 873200
net.ipv4.tcp_wmem = 4096 16384 4194304
// TCP读buffer,可参考的优化值: 32768 436600 873200
net.ipv4.tcp_rmem = 4096 87380 6291456
// net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力.
// net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段.
// net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket.
// 上述内存单位是页,而不是字节.可参考的优化值是:786432 1048576 1572864
net.ipv4.tcp_mem = 21726 28969 43452
// 进入包的最大设备队列.默认是300,对重负载服务器而言,该值太低,可调整到1000
net.core.netdev_max_backlog = 1000
// listen()的默认参数,挂起请求的最大数量.默认是128.对繁忙的服务器,增加该值有助于网络性能.可调整到256.
net.core.somaxconn = 128
// socket buffer的最大初始化值,默认10K
net.core.optmem_max = 20480
// TCP失败重传次数,默认值15,意味着重传15次才彻底放弃.可减少到5,尽早释放内核资源.
net.ipv4.tcp_retries2 = 15
// 意思是如果某个TCP连接在idle 2个小时后,内核才发起probe.如果probe 9次(每次75秒)不成功,内核才彻底放弃,认为该连接已失效.
// 对服务器而言,显然上述值太大. 可调整到: 1800 3 30
net.ipv4.tcp_keepalive_time = 7200 seconds (2 hours)
net.ipv4.tcp_keepalive_probes = 9
net.ipv4.tcp_keepalive_intvl = 75 seconds
内核参数详细描述:
下列文件所在目录:/proc/sys/net/ipv4/
名称 | 默认值 | 建议值 | 描述 |
---|---|---|---|
tcp_syn_retries | |||
tcp_synack_retries | |||
tcp_keepalive_time | |||
tcp_keepalive_time | |||
tcp_keepalive_intvl | |||
tcp_retries1 | |||
tcp_retries2 | |||
tcp_orphan_retries | |||
tcp_fin_timeout | |||
tcp_max_tw_buckets | |||
tcp_tw_recycle | |||
tcp_tw_reuse | |||
tcp_max_orphans | |||
tcp_abort_on_overflow | |||
tcp_syncookies | |||
tcp_stdurg | |||
tcp_max_syn_backlog | |||
tcp_window_scaling | |||
tcp_timestamps | |||
tcp_sack | |||
tcp_fack | |||
tcp_dsack | |||
tcp_ecn | |||
tcp_reordering | |||
tcp_retrans_collapse | |||
tcp_wmem | |||
tcp_rmem | |||
tcp_mem | |||
tcp_app_win | |||
tcp_adv_win_scale | |||
tcp_low_latency | |||
tcp_westwood | |||
tcp_bic | |||
ip_forward | |||
ip_local_port_range | |||
ip_conntrack_max |