• /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状态的时间。

  • 相关阅读:
    多线程(5)async&await
    多线程(4)Task
    多线程(3)ThreadPool
    多线程(2)Thread
    多线程(1)认识多线程
    泛型
    反射(4)反射性能问题:直接调用vs反射调用
    反射(3)反射应用:一个插件项目
    反射(2)使用反射
    反射(1)认识反射
  • 原文地址:https://www.cnblogs.com/mingerlcm/p/10915003.html
Copyright © 2020-2023  润新知