Linux arp缓存超时值

Linux arp缓存超时值,第1张

概述我正在尝试为 Linux内核arp缓存超时配置合理的值,但我找不到关于它们如何在任何地方工作的详细解释.即使是kernel.org文档也没有给出很好的解释,我只能找到建议的值来缓解溢出. 以下是我拥有的值的示例: net.ipv4.neigh.default.gc_thresh1 = 128net.ipv4.neigh.default.gc_thresh2 = 512net.ipv4.neig 我正在尝试为 Linux内核arp缓存超时配置合理的值,但我找不到关于它们如何在任何地方工作的详细解释.即使是kernel.org文档也没有给出很好的解释,我只能找到建议的值来缓解溢出.

以下是我拥有的值的示例:

net.ipv4.neigh.default.gc_thresh1 = 128net.ipv4.neigh.default.gc_thresh2 = 512net.ipv4.neigh.default.gc_thresh3 = 1024

现在,从我到目前为止收集的内容:

> gc_thresh1是垃圾收集器开始删除任何条目之前允许的arp条目数.
> gc_thresh2是软限制,它是垃圾收集器主动删除arp条目之前允许的条目数.
> gc_thresh3是硬限制,其中积极删除高于此数字的条目.

现在,如果我理解正确,如果arp条目的数量超过gc_thresh1但仍然低于gc_thresh2,则将通过gc_interval设置的间隔定期删除多余的条目.

我的问题是,如果条目数超过gc_thresh2但低于gc_thresh3,或者数字超出gc_thresh3,那么条目是如何删除的?
换句话说,“主动”和“积极”删除的内容究竟是什么意思?我认为这意味着它们比gc_interval中定义的更频繁地删除,但我找不到多少.

解决方法 每当有强制垃圾收集条目时,last_flush字段在邻居表neigh_table中更新.

如果满足下列条件之一,则会发生强制垃圾收集条目:

>表中的条目数大于gc_thresh3
>表中的条目数大于gc_thresh2,自last_flush以来的时间大于或等于5 HZ

当请求强制垃圾收集条目时,将丢弃满足以下条件的条目:

>没有人提到这个条目
>入境不是永久性的

如果条目总数大于gc_thresh1,则neigh_periodic_work会定期执行工作,尝试释放未引用的条目.

来源:linux内核源码,neighbour.c

总结

以上是内存溢出为你收集整理的Linux arp缓存超时值全部内容,希望文章能够帮你解决Linux arp缓存超时值所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1041333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存