美文网首页
修改ARP缓存表大小

修改ARP缓存表大小

作者: 404d67ac8c12 | 来源:发表于2022-12-03 21:45 被阅读0次

在下发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

相关文章

  • 网络设备发现命令(ARP)

    地址解析协议(ARP) ARP“地址解析协议(ARP)”, 此命令功能主要用于显示和修改缓存中的项目。 ...

  • CMD命令

    arp -a [内网地址] [ -N 接口] 显示所有接口的当前 ARP 缓存表-g 与 -a 相同-d 内网地址...

  • 计算机网络|ARP表

    ARP表用于缓存设备的IP地址与MAC地址的对应关系,采用ARP表的好处是限制网络广播数量。 以主机A(192.1...

  • Linux命令学习手册-arp

    功能 管理系统的 arp 缓存。 描述 用来管理系统的 arp 缓存,常用的命令包括: arp: 显示所有的表项。...

  • 2018-11-29 实验一:常用网络命令

    (1)arp:显示和修改IP地址与物理地址之间的转换表 arp -s inet_addr eth_addr [if...

  • linux 下内网渗透一

    内网渗透原理 arp 协议:在局域网内如果主机A要向主机B发送报文,会先查询本地的arp缓存表找到主机B的IP地址...

  • MySQL 优化之 table_open_cache

    table_open_cache 表文件描述符的缓存大小( 当打开一个表后 会把这个表的文件描述符缓存下来 ) ...

  • ARP缓存污染(ARP欺骗)

    1、ARP查询过程简述: 当一台计算机A想要与另一台计算机B通信时: 第一步:发起通信的计算机A:1、检查自己的A...

  • ARP协议

    ARP:地址解析协议 ARP为IP地址到对应的硬件地址之间提供动态映射,这个过程是自动完成的。 ARP高速缓存 A...

  • Mysql查询优化

    mysql的优化思路: 日志、执行计划、索引、缓存(查询缓存和索引缓存)、SQL优化、分区、分表、分库、修改数据库...

网友评论

      本文标题:修改ARP缓存表大小

      本文链接:https://www.haomeiwen.com/subject/zbjmfdtx.html