zoukankan      html  css  js  c++  java
  • 修改ARP缓存表大小

    在下发Mininet的ARP缓存表表项时,出现了如下的错误信息:

    SIOCSARP: No buffer space available

    这是由于ARP表是缓存在内存中的,超过了系统对ARP缓存表大小的限制,需要修改如下的文件:
    /proc/sys/net/ipv4/neigh/default/gc_thresh1
    /proc/sys/net/ipv4/neigh/default/gc_thresh2
    /proc/sys/net/ipv4/neigh/default/gc_thresh3

    这3个文件的含义如下所示:
    gc_thresh1
    存在于ARP高速缓存中的最少层数,如果少于这个数,垃圾收集器将不会运行。缺省值是128。
    gc_thresh2
    保存在 ARP 高速缓存中的最多的记录软限制。垃圾收集器在开始收集前,允许记录数超过这个数字 5 秒。缺省值是 512。
    gc_thresh3
    保存在 ARP 高速缓存中的最多记录的硬限制,一旦高速缓存中的数目高于此,垃圾收集器将马上运行。缺省值是1024。

    因此只需预估下需要的ARP缓存表表项数目,对他们进行修改就可以了。
    注意,如果和我一样是在下发mininet的ARP表时遇到的问题,gc_thresh3指的是所有OVS(虚拟交换机)的ARP表表项总和。

    重新配置方法如下所示(需要用echo,否则写不进去):

    echo 512 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
    echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
    echo 10240 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
    ————————————————
    版权声明:本文为CSDN博主「捭阖寰宇」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/guo_jia_liang/article/details/53868749

  • 相关阅读:
    【转载】这才是真正的表扩展方案
    【转载】啥,又要为表增加一列属性?
    【转载】这才是真正的分布式锁
    mysql备份表sql
    selenium定位当前处于那个iframe(frame)中
    MQ手动推送消息
    报表导出时间格式数据多‘0‘
    python里的原始字符串
    qq邮箱设置授权码方法(jenkins)
    Apache与Tomcat有什么关系和区别(转)
  • 原文地址:https://www.cnblogs.com/ExMan/p/12066660.html
Copyright © 2011-2022 走看看