修改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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM