原创-内核参数优化明细

fs.suid_dumpable = 0 /1为打开coredump功能,当程序崩溃时产生崩溃日志用于分析。
net.ipv4.conf.all.log_martians = 1 /打开网络日志分析
net.ipv4.conf.default.log_martians = 1 /打开网络日志分析
net.ipv4.conf.all.arp_filter = 0 /ARP响应有关
net.ipv4.conf.default.arp_filter = 0  /ARP响应有关
net.ipv4.ip_forward = 0 /支持IP转发
net.ipv4.conf.all.forwarding = 0 /不转发源路由帧,如果做NAT建议开启。
net.ipv4.conf.all.send_redirects = 0 /恶意用户可以使用IP重定向来修改远程主机中的路由表,在设计良好的网络中,末端的重定向设置是不需要的,发送和接受重定向信息包都要关闭。
net.ipv4.conf.default.send_redirects = 0 /恶意用户可以使用IP重定向来修改远程主机中的路由表,在设计良好的网络中,末端的重定向设置是不需要的,发送和接受重定向信息包都要关闭。
kernel.randomize_va_space = 1 /用于控制Linux下 内存地址随机化机制(address space layout randomization)
net.ipv4.ip_local_port_range = 1024 65000 /Linux中限定端口的使用范围
net.ipv4.tcp_rmem = 4096 87380 8388608 /接收缓存区大小,缓存从对端接收的数据,后续会被应用程序读取
net.ipv4.tcp_wmem = 4096 87380 8388608 /发送缓存区大小,缓存应用程序的数据,有序列号被应答确认的数据会从发送缓冲区删除掉。
net.core.rmem_max = 8388608 /接收缓存池最大值
net.core.wmem_max = 8388608 /发送缓存池最大值
net.core.netdev_max_backlog = 5000 /在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目


net.ipv4.tcp_window_scaling = 1 /关键参数:启用RFC 1323定义的window scaling,要支持超过64KB的TCP窗口,必须启用该值(1表示启用),TCP窗口最大至1GB,TCP连接双方都启用时才生效。


net.ipv4.conf.default.forwarding = 0 /支持IP转发
net.ipv4.conf.default.proxy_arp = 0 /支持代理arp
net.ipv4.ip_no_pmtu_disc = 1 /在全局范围内关闭路径MTU探测功能。 
net.ipv4.tcp_syn_retries = 1 /控制内核向某个输入的SYN/ACK段重新发送相应的次数,低值可以更好的检测到远程主机的连接失败
net.ipv4.tcp_max_orphans = 65536 /系统所能处理不属于任何进程的TCP sockets最大数量
net.ipv4.icmp_echo_ignore_broadcasts = 1 /该文件表示内核是否忽略所有的ICMP ECHO请求,或忽略广播和多播请求
net.ipv4.icmp_ignore_bogus_error_responses = 1 /可以忽略由网络中的那些声称回应地址是广播地址的主机生成的ICMP错误。
net.ipv4.conf.all.accept_source_route = 0 /是否接受含有源路由信息的ip包。参数值为布尔值,1表示接受,0表示不接受。在充当网关的linux主机上缺省值为1,在一般的linux主机上缺省值为0。从安全性角度出发,建议关闭该功能。
net.ipv4.conf.default.accept_source_route = 0 /是否接受含有源路由信息的ip包。参数值为布尔值,1表示接受,0表示不接受。在充当网关的linux主机上缺省值为1,在一般的linux主机上缺省值为0。从安全性角度出发,建议关闭该功能。
fs.file-max = 1000000 /表示系统级别的能够打开的文件句柄的数量/


net.ipv4.tcp_sack = 1 /关键参数:标准的TCP确认机制中,如果发送方发送了0-1000序号之间的数据,接收方收到了0-100、300-1000,那么接收方只能向发送方确认101,这时发送方会重传所有101-1000之间的数据,实际上这是不必要的,因为有可能仅仅是丢了一小段而已,但是在标准的TCP确认机制中,发送方无法感知这一事情,只能重传从101开始的所有数据。SACK特性是TCP的一个可选特性,是否启用需要收发双发进行协商,开启后可以减少重复数据的上传。


net.ipv4.tcp_dsack = 1 /关键参数:允许TCP发送"两个完全相同"的SACK。配合tcp_sack一起打开。


net.ipv4.neigh.default.gc_stale_time = 120 /多久检查邻居条目


net.ipv4.tcp_max_tw_buckets = 10000      /关键参数:系统同时处理TIME_WAIT sockets数目。如果一旦TIME_WAIT tcp连接数超过了这个数目,系统会强制清除并且显示警告消息。设立该限制,主要是防止那些简单的DoS攻击,加大该值有可能消耗更多的内存资源。如果TIME_WAIT socket过多,则有可能耗尽内存资源。默认值是18w,可以将此值设置为5000~30000。


kernel.pid_max = 1000000 /关键参数:提高进程数。


net.ipv4.tcp_tw_reuse = 1  /关键参数:表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭。

 

net.ipv4.tcp_tw_recycle = 1  /关键参数:是否开启快带回收TIME_WAIT tcp连接的功能。


vm.drop_caches = 2 /自动释放Cache Memory(缓存内存)0 //默认是0;1-清空页缓存;2-清空inode和目录树缓存;3-清空所有缓存
vm.min_free_kbytes = 67584 /代表系统所保留空闲内存的最低限
vm.swappiness = 0 /不使用swap分区,直接使用内存
net.ipv4.conf.all.rp_filter = 0 /控制系统是否开启对数据包源地址的校验
net.ipv4.conf.default.rp_filter = 0 /控制系统是否开启对数据包源地址的校验
net.ipv4.conf.default.arp_announce = 2 /arp_announce 对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制,2 - 始终使用与目标IP地址对应的最佳本地IP地址作为ARP请求的源IP地址。
net.ipv4.conf.lo.arp_announce = 2 /arp_announce 对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制,2 - 始终使用与目标IP地址对应的最佳本地IP地址作为ARP请求的源IP地址。
net.ipv4.conf.all.arp_announce = 2 /arp_announce 对网络接口(网卡)上发出的ARP请求包中的源IP地址作出相应的限制,2 - 始终使用与目标IP地址对应的最佳本地IP地址作为ARP请求的源IP地址。
net.ipv4.tcp_syncookies = 1 /默认值是0。只有在内核编译时选择了 CONFIG_SYNCOOKIES 时才会发生作用。当syn等候队列出现溢出时象对方发送syncookies。目的是为了防止 synflood 攻击。
net.ipv4.tcp_max_syn_backlog = 16384 /对于那些尚未收到客户端确认的连接请求,需要保存在队列中的最大数目。
net.ipv4.tcp_synack_retries = 2 /对于远端SYN连接请求,内核会发送SYN+ACK数据包来确认收到了上一个SYN连接请求包,然后等待远端的确认(ack数据包)。该值则指定了内核会向远端发送tcp_synack_retires次SYN+ACK数据包。默认设定值是5,可以调整为2.
net.core.somaxconn = 65535 /表示socket监听(listen)的backlog上限。backlog是socket的监听队列,当一个请求(request)尚未被处理或建立时,他会进入backlog。
net.ipv6.conf.all.disable_ipv6 = 1 /ipv6相关
net.ipv6.conf.default.disable_ipv6 = 1 /ipv6相关
net.ipv6.conf.lo.disable_ipv6 = 1 /ipv6相关
kernel.sysrq = 1 /打开内核调试工具
net.ipv4.tcp_fin_timeout = 15 /对于本端断开的 socket 连接,这个参数决定了它保持在 FIN-WAIT-2 状态的时间


net.ipv4.neigh.default.gc_thresh1 = 512 /gc_thresh1,2,3提高arp表池的容量大小,默认不需操作。
net.ipv4.neigh.default.gc_thresh2 = 2048
net.ipv4.neigh.default.gc_thresh3 = 4096

posted @ 2021-01-22 14:41  Normanlin  阅读(2161)  评论(0编辑  收藏  举报