首页 > 系统相关 >linux 内核参数优化

linux 内核参数优化

时间:2022-09-07 18:00:29浏览次数:256  
标签:TIME tcp 参数 ipv4 linux net WAIT 接字 内核

linux 内核参数优化

//允许非本地Ip地址socket监听
net.ipv4.ip_nonlocal_bind = 1

//开启ipv4转发
net.ipv4.ip_forward = 1

//是否开启数据包时间戳
net.ipv4.tcp_timestamps = 0

//端口复用,0表示关闭
net.ipv4.tcp_tw_reuse = 0

//快速回收TIME_WAIT状态,用于大量TIME_OUT场景
net.ipv4.tcp_tw_recycle = 0

//表示单个进程较大可以打开的句柄数
fs.file-max = 1000000

//参数设置为1,表示允许TIME_WAIT状态的socket重新用于新的TCP连接,这对服务器来说意义重大,因为总有大量TIME_WAIT状态的连接存在
net.ipv4.tcp_tw_reuse = 1

//当keepalive开启是,TCP发送keepalived消息的频度,默认是2小时,将其设为10分钟,可以更快的清理无效链接
net.ipv4.tcp_keepalive_time = 600

//当服务器主动关闭连接时,socket保持在FIN_WAIT_2状态的较大时间
net.ipv4.tcp_fin_timeout = 30

//表示操作系统允许TIME_WAIT套接字数量的较大值,如果超过此值,TIME_WAIT套接字将立刻被清楚并打印警告信息,默认值为8000,过多的TIME_WAIT套接字会使web服务器变慢
net.ipv4.tcp_max_tw_buckets = 5000

//定义UDP和TCP连接的本地端口的取值范围
net.ipv4.ip_local_port_range = 1024 65000

//定义TCP接收socket请求缓存的内存最小值,默认值,较大值
net.ipv4.tcp_rmem = 10240 87380 12582912

//定义tcp发送缓存的最小值,默认值,较大值
net.ipv4.tcp_wmem = 10240 87380 12582912

//当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包,这个参数表示该队列的较大值
net.core.netdev_max_backlog = 8096

//表示内核套接字接收缓存区默认大小
net.core.rmem_default = 6291456

//表示内核套接字发送缓存区默认大小
net.core.wmem_default = 6291456

//表示内核套接字接受缓存区较大大小
net.core.rmem_max = 12582912

//表示内核套接字发送缓存区较大大小
net.core.wmem_max = 12582912
注意:以上四个参数,需要根据业务逻辑和硬件成本来综合考虑

//与性能无关,解决TCP的SYN攻击
net.ipv4.tcp_syncookies = 1

//这个参数表示TCP三次握手建立阶段接受SYN请求队列的较大长度,默认值为1024,将其设置的大一些可使出现nginx繁忙来不及accept新连接时,linux不至于丢失客户端发起的连接请求
net.ipv4.tcp_max_sync_backlog = 8192

标签:TIME,tcp,参数,ipv4,linux,net,WAIT,接字,内核
From: https://www.cnblogs.com/liwenchao1995/p/16666701.html

相关文章

  • 交叉编译移植Python到arm架构下的Linux系统
    参考:https://blog.csdn.net/weixin_41922484/;https://blog.csdn.net/qq_28351465/article/details/54406180;  https://cloud.tencent.com/developer/articl......
  • linux 信号概念
    信号的概念信号(Signal)是一种软件中断,比如Ctrl+C的退出命令实质上就是使用了信号。信号在Linux操作系统中提供了一种处理异步事件的方法,可以很好地在多个进程之间进行同步......
  • Linux系统配置(防火墙)
    前言linux系统服务器如果作为网关服务器或网络服务器来使用时,配置规划防火墙能够很好的为服务器提供安全保障,Linux系统的RHEL7系列之前默认是通过iptables管理防火墙,......
  • Linux 下 tar 打包命令详细教程
    转:Linux下tar打包命令详细教程 1.打包:选项“-cvf”一般是习惯用法,记住打包时需要指定打包之后的文件名,而且要用“.tar”作为扩展名。打包目录也是如此:......
  • LFS(Linux From Scratch)构建过程全记录(三):准备并下载所需的软件包
    写在前面本文将记录构建LFS的过程中,下载软件包的全过程 准备下载的地址我们需要创建一个文件夹,地址为$LFS/sources,用于保存对应的源码输入的指令如下:sudomkdir-v......
  • 低代码平台amis学习 五:添加「日期范围」参数,解决起止日期提取问题
    之前写过一个造数接口,它需要传递日期参数,如下前端暴露一个「月份范围」组件,选好日期后点击提交,会提交「起始月份」和「终止月份」2个参数 接下来我要把这个功能移植到......
  • Linux 配置 jdk 环境变量
    本文是为了自己学习记录的,有参考各路大神在安装之前,查看当前Linux系统是否已经安装java,输入rpm-qa|grepjava卸载两个openJDK输入rpm-e--nodeps要卸载的软件......
  • linux环境配置 (redis、jdk、nginx、mysql)
    linux环境配置环境准备服务器:腾讯云服务器操作系统:centos8.0终端控制器:finalshell3.9.34redis7.0.4jdk1.8.0nginx-1.21.3mysql8.0.30redis安装创建或选......
  • react hooks 中 useEffect 第二个参数,不传和传空数组的区别
    之前一直觉得,useEffect的第二个参数传空数组或者不传,没什么区别来着。今天试试确实是有所不同:useEffect(func,[]):空数组类似componentDidMount的生命周期,只在第一次r......
  • Linux系统启动流程
    开机启动流程图1.开机自检 电脑通电之后,首先加载BIOS(basicinputoutputsystem,基本输入输出系统)。而BIOS程序首先检查计算机能否满足运行的基本条件,这个叫做“硬件自......