zoukankan      html  css  js  c++  java
  • nf_conntrack: table full, dropping packet 解决

    系统连接数高的时候,机子出现掉包,查看日志发现报错,nf_conntrack: table full, dropping packet,解决办法就是调整参数。

    有的人建议关闭防火墙,但是对于linux来说,iptables就是一个命令好像没有关闭开启之说。

    这里采取调整参数的方式进行调优。

    查看相关参数

    1 sysctl net.netfilter.nf_conntrack_max 可以查看当前值
    2 
    3 sysctl net.netfilter.nf_conntrack_count 可以查看tracking table数

    提高 net.netfilter.nf_conntrack_max

     1 默认的net.netfilter.nf_conntrack_max 是 65536
     2 
     3 这里我们首先提高 net.netfilter.nf_conntrack_max , 当然,肯定不是越高越好,如果你的机器是一个64GB 64bit的系统,那么最合适的值是
     4 
     5  CONNTRACK_MAX = 64*1024*1024*1024/16384/2 = 2097152
     6 即时生效使用
     7 
     8 /sbin/sysctl -w net.netfilter.nf_conntrack_max = 2097152
     9 确保重启后也生效使用
    10 
    11 echo net.ipv4.netfilter.ip_conntrack_max = 2097152 >> /etc/sysctl.conf

    提升hash-table的数量

    1 哈希表一般是net.netfilter.nf_conntrack_max的1/8
    2 
    3 hashsize = nf_conntrack_max / 8
    4 更改哈希表的值
    5 
    6 echo 262144 > /sys/module/nf_conntrack/parameters/hashsize
    7 并且添加到模块/etc/modprobe.conf
    8 
    9 options ip_conntrack hashsize=262144

    调整优化系统参数

     1 /etc/sysctl.conf配置调整
     2 
     3 net.netfilter.nf_conntrack_max  =   2097152  
     4 
     5 net.netfilter.ip_conntrack_tcp_timeout_established  =   3600  
     6 
     7 net.netfilter.nf_conntrack_tcp_timeout_close_wait  =   60  
     8 
     9 net.netfilter.nf_conntrack_tcp_timeout_fin_wait  =   120
    10   
    11 net.netfilter.nf_conntrack_tcp_timeout_time_wait  =   120 
  • 相关阅读:
    DokuWiki 插件使用
    DokuWiki 命名空间管理
    Ubuntu 14.10 下DokuWiki安装
    Ubuntu 14.10 下安装Ambari
    Ubuntu 14.10 下安装Ambari 问题汇总
    Hadoop 权限管理
    Spark 性能调优-内存设置-GC设置
    Ubuntu 14.10 下NodeJS Cannot find module 'npmlog'
    Hadoop 新增删除节点
    Ubuntu 14.10 下开机不进入图形化界面
  • 原文地址:https://www.cnblogs.com/sshcy/p/10690829.html
Copyright © 2011-2022 走看看