点击上方蓝字
关注大侠之运维
关于内核参数的调整,如果是一些大的公司,基本在基础镜像中就做好了,如果是一些中小公司的话,云平台上直接购买的主机的话,其实很多参数是没有做调整的。
很多时候,都是在具体部署中间件的时候才会去做调整,或者是遇到问题之后才会根据需求去调整。
今天这篇文章的话就是整理了最近几年工作中配置过的一些参数,可以直接用。
♦️
内核参数介绍
Linux 系统的 proc/sys目录下存放着多数内核的参数,并且可以在系统运行时进行更改,一般重新启动机器就会失效。
而/etc/sysctl.conf是一个允许改变正在运行中的Linux系统的接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,修改内核参数永久生效。
/proc/sys下内核文件与配置文件sysctl.conf中变量存在着对应关系,即修改sysct. conf配置文件,其实是修改/proc/sys相关参数。
所以对Linux内核优化只需修改/etc/ sysctl.conf文件即可。
vim etc/sysctl.conf
net.ipv4.ip_forward=0net.ipv4.conf.default.rp_filter=1net.ipv4.confdefault.accept_source_route=0kernel.sysrq=0kernel.core_uses_pid=1net.ipv4.tcp_syncookies=1kernel.msgmnb=65536kernel.msgmax=65536kernel.shmmax=68719476736kernel.shmall=4294967296net.ipv4.tcp_max_tw_buckets=10000net.ipv4.tcp_sack=1net.ipv4.tcp_window_scaling=1net.ipv4.tcp_rmem=4096 87380 4194304net.ipv4.tcp_wmem=4096 16384 4194304net.core.wmem_default=8388608net.core.rmem_default=8388608net.core.rmem_max=16777216net.core.wmem_max=16777216net.core.netdev_maxbackog=262144net.core.somaxconn=262144net.ipv4.tcp_max_orphans=3276800net.ipv4.tcp_max_syn_backlog=262144net.ipv4.tcp_timestamps=0net.ipv4.tcp_synack_retries=1net.ipv4.tcp_syn_retries=1net.ipv4.tcp_tw_recycle=1net._ipv4.tcp_tw_reuse=1net.ipv4.tcp_mem=94500000 915000000 927000000net.ipv4.tcp_fin_timeout=1net.ipv4.tcp_keepalivetime=30net.ipv4.ip_local_port_range=1024 65535
修改好之后可以执行sysctl -p生效
下面具体介绍下部分参数的含义
net.ipv4.tcp_syn_retries=1 :对于一个新建连接,内核要发送多少个SYN连接请求才决定放弃
net.ipv4.tcp_synack_retries=1 :tcp_synack_retries显示或设定Linux在回应SYN要求时尝试多少次重新发送初始SYN,ACK封包后才决定放弃
net.ipv4.tcp_max_orphans=3276800 :系统所能处理不属于任何进程的TCP sockets最大数量
net.ipv4.tcp_max_tw_buckets=10000 :系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息,默认是18000,可以通过调整配置避免产生大量的TIME_WAIT。
net.ipv4.tcp_sack=1 :选择性应答(SACK),可以提高某些网络中所有可用带宽的使用效率
net.ipv4.tcp_retires1=3 :放弃回应一个TCP连接请求前,需要进行多少次重试
net.ipv4.tcp_retires2=15 :在丢弃激活的TCP连接之前,需要进行多少次重试
net.ipv4.tcp_fin_timeout=30 :表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间
net.ipv4.tcp_tw_recycle=1 :开启TCP连接中的TIME_WAIT sockets的快速回收,默认为0,表示关闭
net.ipv4.tcp_max_syn_backlog=262122 :表示SYN队列的长度,默认是1024,可以加大队列长度,可以容纳更多等待连接的网络连接数
net.ipv4.tcp_orphans_retries = 0 :关闭TCP连接之前重试多少次
net.ipv4.tcp_mem = 178368 237824 356736 第一个值表示低于这个值,表示内存无压力,第二个值表示进入内存压力状态,第三个值高于的话,不会继续分配sockets
net.ipv4.ip_local_port_range=1024 65535 :用于向外连接的端口范围
net.ipv4.tcp_keepalivetime=30 :如果某个TCP连接在空闲30s后,内核才发起probe探查
net.ipv4.tcp_syncookies = 1 :开启SYN洪水攻击保护

👆点击查看更多内容👆
推荐阅读
记得星标记一下,下次更容易找到我





