connect: No buffer space available

connect: No buffer space available

后经过搜索,发现问题是ARP缓存过小导致的,看下面的详细解释。

》》》》》》》》》》》》》》》》》》

内核维护的arp表过于庞大, 发生抖动, 因此导致了这种情况
几个内核ARP参数:
=================================
gc_stale_time
决定检查一次相邻层记录的有效性的周期。当相邻层记录失效时,将在给它发送数据前,再解析一次。缺省值是60秒。
gc_thresh1
存在于ARP高速缓存中的最少层数,如果少于这个数,垃圾收集器将不会运行。缺省值是128。
gc_thresh2
保存在 ARP 高速缓存中的最多的记录软限制。垃圾收集器在开始收集前,允许记录数超过这个数字 5 秒。缺省值是 512。
gc_thresh3
保存在 ARP 高速缓存中的最多记录的硬限制,一旦高速缓存中的数目高于此,垃圾收集器将马上运行。缺省值是1024。
=================================
比如 arp -an|wc -l 的结果是300左右, 那么应当调高gc_thresh各项数值,防止抖动的发生:

 

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

  

文章转载自http://hi.baidu.com/lchray/item/e40b351b2794380d8fbde465行吟水榭的空间

posted @ 2016-08-09 20:28  我是地瓜  阅读(528)  评论(0编辑  收藏  举报
AmazingCounters.com