/etc/sysctl.conf 用于控制内核相关的配置参数,而且它的内容全部是对应于 /proc/sys/ 这个目录的子目录及文件
[root@MongoDB ~]# ll /proc/sys
total
dr-xr-xr-x root root Apr : abi // 应用的二进制信息
dr-xr-xr-x root root Apr : crypto // 调试相关的系统配置目录
dr-xr-xr-x root root Apr : debug // 设备相关的系统配置目录
dr-xr-xr-x root root Apr : dev // 文件系统相关的系统配置目录
dr-xr-xr-x root root Apr : fs // 文件系统相关的系统配置目录
dr-xr-xr-x root root Apr : kernel // 内核相关的系统配置目录
dr-xr-xr-x root root Apr : net // 网络相关的系统配置目录
dr-xr-xr-x root root Apr : user // 用户相关的系统配置目录
dr-xr-xr-x root root Apr : vm // 内存相关的系统配置目录
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, is disabled, is enabled. See sysctl() and
# sysctl.conf() for more details. kernel.core_uses_pid =
// 该文件指定了从一个进程发送到另一个进程的消息最大长度
kernel.msgmax =
// 该文件指定在一个消息队列中最大的字节数 缺省设置:16384。
kernel.msgmnb =
kernel.sem =
kernel.shmall =
// 该参数定义了共享内存段 的最大尺寸
kernel.shmmax =
// 该参数表示统一一次可以使用的共享内存总量(以页为单位)。默认是2097152,通常不需要修改
kernel.shmmni =
kernel.sysrq = // 表示SYN队列的长度,默认为1024,加大队列长度为32768,可以容纳更多等待连接的网络连接数。
net.core.netdev_max_backlog =
// 接收套接字缓冲区大小的默认值(以字节为单位)。
net.core.rmem_default =
// 接收套接字缓冲区大小的最大值(以字节为单位)
net.core.rmem_max =
// 定义了系统中每一个端口最大的监听队列的长度(该内核参数默认值一般是128),对于负载很大的服务程序来说大大的不够。一般会将它修改为2048或者更大。
net.core.somaxconn =
// 发送套接字缓冲区大小的默认值(以字节为单位)
net.core.wmem_default =
// 发送套接字缓冲区大小的最大值(以字节为单位)。
net.core.wmem_max =
net.ipv4.conf.default.accept_source_route =
net.ipv4.conf.default.rp_filter = // 表示开启路由功能,0是关闭,1是开启
net.ipv4.ip_forward =
// 设置系统 允许系统打开的端口范围
net.ipv4.ip_local_port_range =
net.nf_conntrack_max=
net.netfilter.nf_conntrack_tcp_timeout_established =
// 探测消息未获得响应时,重发该消息的间隔时间(秒)。系统默认75秒
net.ipv4.tcp_keepalive_intvl = //在认定连接失效之前,发送多少个TCP的keepalive探测包。系统默认值是9。这个值乘以tcp_keepalive_intvl之后决定了,一个连接发送了keepalive探测包之后可以有多少时间没有回应。
net.ipv4.tcp_keepalive_probes = // 表示当keepalive起用的时候,TCP发送keepalive消息的频度。默认是2小时,改为300秒
net.ipv4.tcp_keepalive_time =
net.ipv4.tcp_max_orphans =
net.ipv4.tcp_max_syn_backlog =
net.ipv4.tcp_mem =
net.ipv4.tcp_synack_retries =
// 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭
net.ipv4.tcp_syncookies = // 表示在内核放弃建立连接之前发送SYN包的数量。
net.ipv4.tcp_syn_retries =
net.ipv4.tcp_timestamps =
// 表示开启TCP连接中TIME_WAIT套接字的快速回收,默认为0,表示关闭
net.ipv4.tcp_tw_recycle =
// 表示允许重用TIME_WAIT状态的套接字用于新的TCP连接,默认为0,表示关闭
net.ipv4.tcp_tw_reuse =
net.ipv4.tcp_sack = 1
#关闭tcp_sack
#启用有选择的应答(Selective Acknowledgment),
#这可以通过有选择地应答乱序接收到的报文来提高性能(这样可以让发送者只发送丢失的报文段);
#(对于广域网通信来说)这个选项应该启用,但是这会增加对 CPU 的占用。
net.ipv4.tcp_fin_timeout = 10
#表示如果套接字由本端要求关闭,这个参数决定了它保持在FIN-WAIT-2状态的时间。