内核调优

vm.max_map_count = 262144

限制一个进程可以拥有的VMA(虚拟内存区域)的数量。

kernel.msgmnb = 65536

单个消息队列中允许的最大字节长度(限制单个消息队列中所有消息包含的字节数之和)

kernel.msgmax = 65536

消息队列中单个消息的最大字节数

kernel.msgmni = 256

文件指定消息队列标识的最大数目

kernel.shmmax = 68719476736

系统所允许的最大共享内存段的大小(以字节为单位)。

kernel.shmall = 4294967296

系统上可以使用的共享内存的总量(以字节为单位)。

kernel.shmmni = 4096

该参数用于设置系统范围内共享内存段的最大数量,默认值为4096,通常不需要修改。

kernel.sem = 250 32000 100 128

该参数表示设置的信号量。

net.core.rmem_default = 262144

设置接收socket的缺省缓存大小(字节)

net.core.rmem_max = 4194304

设置接收socket的最大缓存大小(字节)

net.core.wmem_default = 262144

设置发送的socket缺省缓存大小(字节)

net.core.wmem_max = 262144

设置发送的socket最大缓存大小(字节)

net.core.somaxconn = 65535

定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。

fs.file-max = 65536

增加系统文件描述符限制

net.core.netdev_max_backlog = 262144

设置当个别接口接收包的速度快于内核处理速度时允许的最大的包序列

net.ipv4.neigh.default.gc_stale_time = 120
net.ipv4.conf.all.rp_filter = 0

1:通过反向路径回溯进行源地址验证(在RFC1812中定义)。对于单穴主机和stub网络路由器推荐使用该选项。0:不通过反向路径回溯进行源地址验证。

net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.arp_announce = 2
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_announce = 2

net.ipv4.tcp_syncookies = 0

表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭

net.ipv4.tcp_fin_timeout = 30

修改系統默认的 TIMEOUT 时间,默认的2MSL报文段最大生存时间,MSL=2分钟

net.ipv4.tcp_keepalive_time = 1200

表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟

net.ipv4.route.gc_timeout = 100

net.ipv4.ip_local_port_range = 1024 65000

表示用于向外连接的端口范围。缺省情况下很小:32768到61000

net.ipv4.tcp_tw_reuse = 1

表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭

net.ipv4.tcp_tw_recycle = 0

表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭

net.ipv4.tcp_max_tw_buckets = 65000

在TIME_WAIT数量等于tcp_max_tw_buckets时,不会有新的TIME_WAIT产生,

net.ipv4.tcp_syn_retries = 1

SYN超时重传次数,客户端发起SYN连接,如果超时会进行重传

net.ipv4.tcp_synack_retries = 1

syn-ack握手状态重试次数,默认5,遭受syn-flood攻击时改为1或2。这是三次握手的第二个步骤。值必须为正整数,并不能超过 255。因为每一次重新发送封包都会耗费约 30 至 40 秒去等待才决定尝试下一次重新发送或决定放弃。缺省值为5,即每一个连线要在约 180 秒 (3 分钟) 后才确定逾时

net.ipv4.tcp_max_syn_backlog = 262144

对于那些依然还未获得客户端确认的连接请求,需要保存在队列中最大数目。默认值是1024,可提高到2048。

net.ipv4.tcp_mem = 16777216 67108864 134217728

该文件保存了三个值,分别是

low:当TCP使用了低于该值的内存页面数时,TCP不会考虑释放内存。

presure:当TCP使用了超过该值的内存页面数量时,TCP试图稳定其内存使用,进入pressure模式,当内存消耗低于low值时则退出pressure状态。

high:允许所有tcp sockets用于排队缓冲数据报的页面量。

net.ipv4.tcp_rmem = 16777216 67108864 134217728

增加TCP最大缓冲区大小 此文件中保存有三个值,分别是

Min:为TCP socket预留用于接收缓冲的内存最小值。每个tcp socket都可以在建立后使用它。即使在内存出现紧张情况下tcp socket都至少会有这么多数量的内存用于接收缓冲

Default:为TCP socket预留用于接收缓冲的内存数量,默认情况下该值会影响其它协议使用的net.core.rmem_default 值,一般要低于net.core.rmem_default的值。该值决定了在tcp_adv_win_scale、tcp_app_win和tcp_app_win=0默认值情况下,TCP窗口大小为65535。

Max:用于TCP socket接收缓冲的内存最大值。该值不会影响net.core.rmem_max,"静态"选择参数SO_SNDBUF则不受该值影响。

net.ipv4.tcp_wmem = 16777216 67108864 134217728

增加TCP最大缓冲区大小此文件中保存有三个值,分别是

Min:为TCP socket预留用于发送缓冲的内存最小值。每个tcp socket都可以在建立后使用它。

Default:为TCP socket预留用于发送缓冲的内存数量,默认情况下该值会影响其它协议使用的net.core.wmem_default 值,一般要低于net.core.wmem_default的值。

Max:用于TCP socket发送缓冲的内存最大值。该值不会影响net.core.wmem_max,"静态"选择参数SO_SNDBUF则不受该值影响。

net.ipv4.ip_forward = 1

路由转发功能,1为开启

net.ipv4.tcp_timestamps = 0

表示是否启用以一种比超时重发更精确的方法(请参阅 RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项。 0:不启用 1:启用

posted @   帅帅啊  阅读(16)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示