zoukankan      html  css  js  c++  java
  • 如何对Linux内核参数进行优化?

    打开配置文件

    vi /etc/sysctl.conf
    

    输入配置,如下是内核优化的参数

    # TCP三次握手建立阶段接收SYN请求队列的最大长度,默认为1024(将其设置得大一些可以使出现Nginx繁忙来不及accept新连接的情况时,Linux不至于丢失客户端发起的连接请求)        
    net.ipv4.tcp_max_syn_backlog = 65536 
    # 数据包队列的最大值(当网卡接收数据包的速度大于内核处理的速度时,会有一个队列保存这些数据包)
    net.core.netdev_max_backlog = 32768 
    # 每一个端口最大的监听队列的长度,默认值为128
    net.core.somaxconn = 32768 
    
    # 内核套接字发送缓冲区默认的大小
    net.core.wmem_default = 262144 
    # 内核套接字发送缓冲区最大大小
    net.core.wmem_max = 2097152
    # 内核套接字接收缓冲区默认的大小
    net.core.rmem_default = 262144 
    # 内核套接字接收缓冲区最大大小
    net.core.rmem_max = 2097152
    
    # TCP接收缓存(用于TCP接收滑动窗口)的最小值、默认值、最大值
    net.ipv4.tcp_rmem = 4096 32768 262142 
    # TCP发送缓存(用于TCP发送滑动窗口)的最小值、默认值、最大值
    net.ipv4.tcp_wmem = 4096 32768 262142  
    # TCP的内存大小,其单位是页,1页等于4096字节,系统默认值:cat /proc/sys/net/ipv4/tcp_mem
    net.ipv4.tcp_mem=94500000 915000000 927000000
    # 系统所能处理不属于任何进程的TCP sockets最大数量
    net.ipv4.tcp_max_orphans=3276800
    
    # 当服务器主动关闭连接时,socket保持在FIN-WAIT-2状态的最大时间
    net.ipv4.tcp_fin_timeout = 30 
    # 当keepalive启用时,TCP发送keepalive消息的频度(若将其设置得小一些,可以更快清理无效的连接)
    net.ipv4.tcp_keepalive_time = 120 
    # 在UDP和TCP连接中本地端口的取值范围
    net.ipv4.ip_local_port_range = 1024 61000 
    
    
    # 限制进程最大并发连接数,根据实际情况配置
    fs.file-max = 65536
    # 操作系统允许TIME-WAIT套接字数量的最大值,默认为180000(过多的TIME-WAIT套接字会使Web服务器变慢)
    net.ipv4.tcp_max_tw_buckets = 5000
    # 用于解决TCP的SYN攻击
    net.ipv4.tcp_syncookies = 1
    
    #开启TCP时间戳,以一种比重发超时更精确的方法(请参阅 RFC 1323)来启用对 RTT 的计算;为了实现更好的性能应该启用这个选项
    net.ipv4.tcp_timestamps = 1;
    #决定内核在放弃连接之前所送出的 SYN+ACK 数目
    net.ipv4.tcp_synack_retries = 1;
    #在内核放弃建立连接之前发送SYN包的数量。
    net.ipv4.tcp_syn_retries = 1;
    
    # 允许将TIME-WAIT状态的socket重新用于新的TCP连接
    net.ipv4.tcp_tw_recycle = 1
    # 允许将TIME-WAIT状态的socket重新用于新的TCP连接
    net.ipv4.tcp_tw_reuse = 1
    

    更新配置命令

    sysctl -p
    
  • 相关阅读:
    Windows:Oracle 11g 备份脚本
    PLSQL操作Oracle创建用户和表
    Windows:添加、删除和修改静态路由
    Zabbix3.x 监控磁盘IO与自定义模板
    重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
    Nginx日志格式log_format详解
    春的请柬
    Action Service Dao三层的功能划分
    关于正则表达式的排除
    jsp中对象的访问
  • 原文地址:https://www.cnblogs.com/phonecom/p/11214142.html
Copyright © 2011-2022 走看看