网络内核参数优化设置

配置文件

/etc/sysctl.conf

生效

sysctl -p
使配置文件生效

部分参数说明

根据需要自行选取设置

######################## cat /proc/sys/net/core/somaxconn
#默认值:128
#作用:已经成功建立连接的套接字将要进入队列的长度
net.core.somaxconn = 65535

#Centos因内存 可用大小不足,被killed的解决办法
#1:允许,不做限制的超售,当然这个也不是无限大,还受到寻址空间的限制,32位系统最大可能只有4G,64位系统大概16T左右。
vm.overcommit_memory = 1

######################## cat /proc/sys/net/ipv4/ip_local_port_range
#默认值:32768 61000
#作用:可用端口的范围
net.ipv4.ip_local_port_range = 1024 65535

######################## cat /proc/sys/net/core/rmem_max
#默认值:212992
#作用:最大的TCP数据接收窗口大小(字节)
net.core.rmem_max=536870912

######################## cat /proc/sys/net/core/wmem_max
#默认值:212992
#作用:最大的TCP数据发送窗口大小(字节)
net.core.wmem_max= 134217728

######################## cat /proc/sys/net/ipv4/tcp_rmem
#默认值:4096 87380 6291456
#作用:socket接收缓冲区内存使用的下限 警戒值 上限
net.ipv4.tcp_rmem=4096 87380 16777216

######################## cat /proc/sys/net/ipv4/tcp_wmem
#默认值:4096 16384 4194304
#作用:socket发送缓冲区内存使用的下限 警戒值 上限
net.ipv4.tcp_wmem=4096 65536 16777216

######################## cat /proc/sys/net/ipv4/tcp_fin_timeout
#默认值:60
#作用:TCP时间戳
net.ipv4.tcp_fin_timeout = 10

######################## cat /proc/sys/net/ipv4/tcp_tw_reuse
#默认值:0
#作用:针对TIME-WAIT,做为客户端可以启用(例如,作为nginx-proxy前端代理,要访问后端的服务)
net.ipv4.tcp_tw_reuse = 1

######################## cat /proc/sys/net/ipv4/tcp_timestamps
#默认值:1
#作用:TCP时间戳
net.ipv4.tcp_timestamps = 0

#启用 RFC 1323 定义的 window scaling;要支持超过 64KB 的窗口,必须启用该值
net.ipv4.tcp_window_scaling = 0

#####################################
#启用有选择的应答(Selective Acknowledgment),这可以通过有选择地应答乱序接收到的报文来提高性能(这样可以让发送者只发送丢失的报文段);(对于广域网通信来说)这个选项应该启用,但是这会增加对 CPU 的占用。
net.ipv4.tcp_sack = 0

######################## cat /proc/sys/net/core/netdev_max_backlog
#默认值:1000
#作用:网卡设备将请求放入队列的长度
net.core.netdev_max_backlog = 120000

#默认情况下一个tcp连接关闭后,把这个连接曾经有的参数比如慢启动门限snd_sthresh,拥塞窗口snd_cwnd 还有srtt等信息保存到dst_entry中, 只要dst_entry 没有失效,下次新建立相同连接的时候就可以使用保存的参数来初始化这个连接.通常情况下是关闭的。
net.ipv4.tcp_no_metrics_save=1

######################## cat /proc/sys/net/ipv4/tcp_syncookies
#默认值:1
#作用:是否打开SYN Cookie功能,该功能可以防止部分SYN攻击
net.ipv4.tcp_syncookies = 1

######################## cat /proc/sys/net/ipv4/tcp_max_orphans
#默认值:16384
#作用:orphans的最大值
net.ipv4.tcp_max_orphans = 262144

######################## cat /proc/sys/net/ipv4/tcp_max_syn_backlog
#默认值:128
#作用:增大SYN队列的长度,容纳更多连接
net.ipv4.tcp_max_syn_backlog = 262144

###########################
#默认值是5
对于一个新建连接,内核要发送多少个 SYN 连接请求才决定放弃。不应该大于255,默认值是5,对应于180秒左右时间。(对于大负载而物理通信良好的网络而言,这个值偏高,可修改为2.这个值仅仅是针对对外的连接,对进来的连接,是由tcp_retries1 决定的)
net.ipv4.tcp_syn_retries = 2

#########################
#默认值是5
对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。这是所谓的三次握手( threeway handshake)机制的第二个步骤。这里决定内核在放弃连接之前所送出的 SYN+ACK 数目。不应该大于255,默认值是5,对应于180秒左右时间。(可以根据上面的tcp_syn_retries来决定这个值)
net.ipv4.tcp_synack_retries = 2
######################################
net.ipv4.udp_mem=262144 327680 393216
##########################

内容参数自网络上,如有不妥请告知。谢谢!

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux内核参数优化是指通过调整Linux内核的配置参数,以提升系统性能、安全性和稳定性的过程。下面是一些常见的Linux内核参数优化方法: 1. 文件描述符限制:通过修改`/etc/security/limits.conf`文件中的`nofile`参数,增加系统允许的最大文件描述符数量。可以使用`ulimit -n`命令查看当前限制。 2. 网络参数优化:可以通过修改`/etc/sysctl.conf`文件来调整网络相关的内核参数。例如,增加TCP连接的最大数量、优化TCP拥塞控制算法、增加网络缓冲区大小等。 3. 内存管理:可以通过调整内核参数优化内存管理,如修改`vm.swappiness`参数来控制交换空间的使用、调整`vm.dirty_ratio`和`vm.dirty_background_ratio`参数来控制脏页的写回行为等。 4. 文件系统参数:可以通过修改文件系统相关的内核参数优化文件系统性能。例如,调整`fs.file-max`参数来增加系统允许的最大文件数量、调整`fs.inotify.max_user_watches`参数来增加inotify监视器的数量等。 5. CPU调度器:可以通过修改CPU调度器相关的内核参数优化系统的CPU利用率和响应性能。例如,调整`/proc/sys/kernel/sched_min_granularity_ns`和`/proc/sys/kernel/sched_wakeup_granularity_ns`参数优化调度器的精度。 6. 硬件参数:根据具体硬件配置,可以调整一些与硬件相关的内核参数,如网络接口的中断处理、磁盘调度算法等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值