/etc/sysctl.conf 控制内核相关配置文件

 

 

/etc/sysctl.conf 用于控制内核相关的配置参数,而且它的内容全部是对应于 /proc/sys/ 这个目录的子目录及文件

 

[root@MongoDB ~]# ll /proc/sys
total 0
dr-xr-xr-x 1 root root 0 Apr 18 01:21 abi // 应用的二进制信息
dr-xr-xr-x 1 root root 0 Apr 17 03:56 crypto // 调试相关的系统配置目录
dr-xr-xr-x 1 root root 0 Apr 18 01:21 debug // 设备相关的系统配置目录
dr-xr-xr-x 1 root root 0 Apr 18 01:21 dev    // 文件系统相关的系统配置目录
dr-xr-xr-x 1 root root 0 Apr 17 03:44 fs  // 文件系统相关的系统配置目录
dr-xr-xr-x 1 root root 0 Apr 17 03:44 kernel // 内核相关的系统配置目录
dr-xr-xr-x 1 root root 0 Apr 17 03:44 net // 网络相关的系统配置目录
dr-xr-xr-x 1 root root 0 Apr 18 01:21 user // 用户相关的系统配置目录
dr-xr-xr-x 1 root root 0 Apr 17 03:46 vm // 内存相关的系统配置目录
 

 

 

 

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled.  See sysctl(8) and
# sysctl.conf(5) for more details.

kernel.core_uses_pid = 1
// 该文件指定了从一个进程发送到另一个进程的消息最大长度
kernel.msgmax = 65536
// 该文件指定在一个消息队列中最大的字节数 缺省设置:16384。
kernel.msgmnb = 65536
kernel.sem = 250 64000 32 256
kernel.shmall = 16777216
// 该参数定义了共享内存段 的最大尺寸
kernel.shmmax = 68719476736
// 该参数表示统一一次可以使用的共享内存总量(以页为单位)。默认是2097152,通常不需要修改
kernel.shmmni = 4096
kernel.sysrq = 0

 // 表示SYN队列的长度,默认为1024,加大队列长度为32768,可以容纳更多等待连接的网络连接数。  
net.core.netdev_max_backlog =  32768
// 接收套接字缓冲区大小的默认值(以字节为单位)。
net.core.rmem_default = 8388608
// 接收套接字缓冲区大小的最大值(以字节为单位)
net.core.rmem_max = 16777216
// 定义了系统中每一个端口最大的监听队列的长度(该内核参数默认值一般是128),对于负载很大的服务程序来说大大的不够。一般会将它修改为2048或者更大。
net.core.somaxconn = 32768
// 发送套接字缓冲区大小的默认值(以字节为单位)
net.core.wmem_default = 8388608
// 发送套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_max = 16777216
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.conf.default.rp_filter = 1

 // 表示开启路由功能,0是关闭,1是开启
net.ipv4.ip_forward = 0
// 设置系统 允许系统打开的端口范围
net.ipv4.ip_local_port_range = 39999 65000
net.nf_conntrack_max=655360
net.netfilter.nf_conntrack_tcp_timeout_established = 1200
// 探测消息未获得响应时,重发该消息的间隔时间(秒)。系统默认75秒
net.ipv4.tcp_keepalive_intvl = 60

//在认定连接失效之前,发送多少个TCP的keepalive探测包。系统默认值是9。这个值乘以tcp_keepalive_intvl之后决定了,一个连接发送了keepalive探测包之后可以有多少时间没有回应。
net.ipv4.tcp_keepalive_probes = 5


// 表示当keepalive起用的时候,TCP发送keepalive消息的频度。默认是2小时,改为300秒
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 65536
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_synack_retries = 2
 // 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies = 1

// 表示在内核放弃建立连接之前发送SYN包的数量。
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_timestamps = 0
// 表示开启TCP连接中TIME_WAIT套接字的快速回收,默认为0,表示关闭
net.ipv4.tcp_tw_recycle = 1
// 表示允许重用TIME_WAIT状态的套接字用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_tw_reuse = 1

 

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

 

net.ipv4.tcp_fin_timeout = 10
#表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。

posted @ 2019-08-06 01:57  minger_lcm  阅读(3020)  评论(0编辑  收藏  举报