关于"Neighbour table overflow“的错误分析及解决方案

lammps 报错总结 ERROR on proc 0: Neighbor list overflow, boost neigh_modify one or page 出现这个错误的直接原因是体系中某些原子的近邻数超过了2000个(除非你使用neigh_modify命令增加了允许的近邻数),而导致这个错误的可能因素有: 初始结构有问题,比如原子分布过于密集。这种情况在一开始就会出错。 截断半径设置的太大了,比如大于10A。可以通过命令neighbor,减小截断半径来解决。 势参数设置有问题,这种情况一般是在运行一些步后才会出错。 阅读详情

这几天在查看日志文件时,出现 "Neighbour table overflow"的邻表溢出问题,网上查看资料后去顶是arp表出现问题了,

以下是http://www.gnulinuxclub.org/index.php?option=com_content&task=view&id=333&Itemid=49的问题。

How to resolve "Neighbour table overflow" problem?Print E-mail

Gnu/Linux servers (when used extensively as a server) throw the following messages in log file

  kernel: Neighbour table overflow.
  kernel: printk: 100 messages suppressed.
  kernel: Neighbour table overflow.
  kernel: printk: 151 messages suppressed.
  kernel: Neighbour table overflow.

The solution to the problem is to increase the threshold level for the network devices

To check the present threshold level 1

cat /proc/sys/net/ipv4/neigh/default/gc_thresh1

It will give some value as 128 or 256 or 512.

This can be increased to the next level.Like if the value is 128 then

make the thresh1 value as 256 and thresh2 as 512 and thresh3 as 1024.

echo 256 > /proc/sys/net/ipv4/neigh/default/gc_thresh1

echo 512 > /proc/sys/net/ipv4/neigh/default/gc_thresh2

echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

This will stop the Error messages that were recieved in the log file

 

解决方案:

1、检测当前值:

  [root@localhost ~]grep . /proc/sys/net/ipv4/neigh/default/gc_thresh*

2、输入一个比进程实体更大的值:

 [root@localhost ~]echo 512 > /proc/sys/net/ipv4/neigh/default/gc_thresh1

 [root@localhost ~]echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh2

 [root@localhost ~]echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

3、把上面的值添加到/etc/sysctl.conf文件中:

net.ipv4.neigh.default.gc_thresh1 = 512

net.ipv4.neigh.default.gc_thresh2 = 2048

net.ipv4.neigh.default.gc_thresh3 = 4096

下面再来引用一下proc/sys/net 详解(即时调整内核网络参数)

注明:这个是分享的。

Linux这几年发展迅速,推出了很多版本。让我们眼花缭乱,不过在每个Linux的发行版本中,都存在一个/proc/目录,这就是Linux系统目录。有的也称它为Proc文件系统。对于那些网络管理员必须要掌握Linux系统目录。

在这个目录中,包括了一些特殊的文件,不仅能用来反映内核的现行状态和查看硬件信息,而且,有些文件还允许用户来修改其中的内容,以调节内核的现行工作状态,例如/proc/sys/子目录下的文件。

与/proc/目录中其它目录不相同的是,/proc/sys/目录下的文件不仅能提供系统的有关信息,而且还允许用户立即停止或开启内核的某些特性及功能。在/proc/sys/目录中的/proc/sys/net/子目录更是与网络息息相关,我们可以通过设置此目录下的某些文件来开启与网络应用相关的特殊功能,同时,也可以通过设置这个目录下的某些文件来保护我们的网络安全。因此,作为一名Linux下的网络管理员,就很有必要详细了解/proc/sys/net/目录下文件的各种功能和设置方法,让它能更好地为我们工作。

一、/proc/sys/net/目录说明。

/proc/sys/net/目录主要包括了许多网络相关的主题,例如:appletalk/,ethernet/,ipv4/,ipx/,及ipv6/。通过改变这些目录中的文件,网络管理员能够在系统运行时调整相关网络参数。虽然在Linux中还有很多有关网络的配置方法,但熟悉此目录中的相关内容对网络应用是有很大的帮助的。

在/proc/sys/net/目录下有两个目录,与现在的IPV4网络的运行息息相关,调整这两个目录下的某些文件的参数,能为我们的网络应用带到意想不到的效果,这两个目录就是/proc/sys/net/core/目录和/proc/sys/net/ipv4/目录,下面笔者将会对这两个目录中的重要文件分别作一个详细的说明。

1、/proc/sys/net/core/目录。

此目录中包括许多设置用来控制Linux内核与网络层的交互,即当网络有什么动作时,内核做出什么样的相应反应。

在其中有以下的一些重要文件:

(1)、message_burst:设置每十秒写入多少次请求警告;此设置可以用来防止DOS攻击,缺省设置为50;

(2)、message_cost:设置每一个警告的度量值,缺省为5,当用来防止DOS攻击时设置为0;

(3)、netdev_max_backlog:设置当个别接口接收包的速度快于内核处理速度时允许的最大的包序列,缺省为300;

(4)、optmem_max:设置每个socket的最大补助缓存大小;

(5)、rmem_default:设置接收socket的缺省缓存大小(字节);

(6)、rmem_max:设置接收socket的最大缓存大小(字节);

(7)、wmem_default:设置发送的socket缺省缓存大小(字节);

(8)、wmem_max:设置发送的socket最大缓存大小(字节)。

2、/proc/sys/net/ipv4/目录。

此目录中的内容用来添加网络设置,在其中的许多设置,可以用来阻止对系统的攻击,或用来设置系统的路由功能。

其中有以下的这些重要的文件:

(1)、icmp_destunreach_rate、icmp_echoreply_rate、icmp_paramprob_rate、icmp_timeexeed_rate:设置发送和回应的最大icmp包的速率,最好不要为0;

(2)、icmp_echo_ignore_all和icmp_echo_ignore_broadcasts:设置内核不应答icmp echo包,或指定的广播,值为0是允许回应,值为1是禁止;

(3)、ip_default_ttl:设置IP包的缺省生存时间(TTL),增加它的值能减少系统开销;

(4)、ip_forward:设置接口是否可以转发包,缺省为0,设置为1时允许网络进行包转发;

(5)、ip_local_port_range:当本地需要端口时指定TCP或UDP端口范围。第一数为低端口,第二个数为高端口;

(6)、tcp_syn_retries:提供限制在建立连接时重新发送回应的SYN包的次数;

(7)、tcp_retries1:设置回应连入重送的次数,缺省为3;

(8)、tcp_retries2:设置允许重送的TCP包的次数,缺省为15。

二、/proc/sys/net/目录下文件的设置方法。

在了解了/proc/sys/net/core/目录和/proc/sys/net/ipv4/目录中一些重要文件的意义和作用后,下面说说如何设置这两个目录中的这些重要文件来为我们工作的。

读者应该了解,在Linux系统中,要改变某种服务或设备的工作状态和功能,主要是通过使用命令方式和直接修改它的配置文件方式来达到目的,对于这两个目录下的文件,我们也可以通过这两种方式来修改这些文件内容中的值,使它们按照我们的意图工作。

在进行设置之前,应当注意的是,当你确定要修改某个文件的当前值时,一定要保证输入的命令格式和值的内容都是正确的,因为任何的错误设置都会引起内核的不稳定,如果你不小心造成了这种问题,你就不得不重新引导系统了。在下面的说明中,笔者会将注意的地方特别说明出来的。

首先来看看如何使用命令方式来修改这两个目录下文件的。我们可以通过echo和sysctl这两个命令来修改这两个目录中的文件,下面笔者将这两个命令的使用方法分别列出来。

1、sysctl命令是为设置这两个目录中的文件而定制的,它被默认安装在/sbin/目录中, 我们可以通过使用此命令来显示和设置/proc/sys/net/目录下的文件内容。例如:/sbin/sysctl -a命令用来显示此目录下的所有文件配置内容;/sbin/sysctl -w命令用来修改此目录下指定文件中的变量值,如:/sbin/sysctl -w net.ipv4.ip_forward="1"用来设置允许IP包转发。其它的参数,读者可以通过输入/sbin/sysctl -h命令来得到,在这里就不再具体全部列出了。要注意的是,这个命令的使用需要管理员权限的,如果用户不是以管理员身份登录的,在使用此命令前用SU命令得得管理权限后再操作。

2、/proc/sys/net/目录下的文件内容也可以通过用echo命令来修改。例如:echo 1 > /proc/sys/net/ipv4/ip_forward用来设置允许IP包转发;echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all用来设置不回应ICMP ECHO包。在使用echo命令时,还应特别注意此命令的输入格式,即在echo命令和值之间,以及值与在于符号(>)之间,在于符号与要修改的文件路径之间都必需有一个空格。而且,在这两个目录中的有些文件有不上一个的值,所以,如果你想一次性传递多个值,那么,每一个值之间也应保证用空格隔开。

同时也要注意的是,用此方法修改/proc/sys/net/目录下文件中的内容在系统重新启动后,所设置的内容会全部变为默认值,因此,如果要想设置的值永久有效,可以直接把这个命令加入到/ect/rc.d/rc.local文件中,在这里,这个文件的路径是指Red Hat Linux发行版本中的,其它发行版本读者根据具体情况来定。如果命令项太多,也可以把这些命令项编写成一个脚本后,加上可执行权限,再放到这个文件中,这样当系统启动时,就会按/etc/rc.d/rc.local中的设置自动执行。如果你不想修改/etc/rc.d/rc.local文件,那么笔者推荐你使用/sbin/sysctl命令。

使用命令方式设置/proc/sys/net/目录下的文件固然方便易行,但有一部分读者更喜欢直接修改它们的配置文件的方式,因为这种方式更加直观,但它比较适合对系统了解比较深的用户。

与其它服务或设备不同的是,Linux系统只为/proc/sys/net/目录提供了一个配置文件,那就是/ect/sysctl.conf,用户可以通过直接编辑/ect/sysctl.conf配置文件,来修改增加相应/proc/sys/net/目录下文件内容中的变量的值,这样当系统启动时就会读取此文件中的配置内容来设置相应的项。用vi来编辑此文件是非常简单的,此文件中内容格式也非常清晰易读,如其中有如下条目:net.ipv4.ip_forward=0,把值修改为1后就打开IP包转发。其实,用/sbin/sysctl命令修改和直接编辑 /etc/sysctl.conf文件内容具有相同的效果,因此,为了安全,推荐用户优先使用/sbin/sysctl命令方式。

到这里,想必读者已经对/proc/sys/net/目录下的/proc/sys/net/core/和/proc/sys/net/ipv4/这两个目录,已经有了一定了解了。可是,这只是笔者为了突出/proc/目录与IPV4网络的作用而特别选出来说明,其实,在/proc/目录下,还有许多的文件,虽然不能被用户如上述的两个目录那样可以被设置,但是,可以通过这些文件来了解系统详细情况和现行的运行状态,读者可以从网络上找到这个目录的详细说明。

 

参考:

http://hi.baidu.com/252568175/blog/item/81a73846ffecab026a63e50f.html

http://www.web-polygraph.org/mail-archive/users/200104/0049.html

http://www.liukang.com/archives/000085.html

lammps学习总结3 lammps学习总结31、质子交换膜 当量质量(equivalent weight)如何理解?2、MS中AC模块number of configuration 是什么意思?3、LAMMPS命令pair_style table4、lammps中几何平均混合规则和算数平均计算规则5、LJ势函数的两种形式以及非标准形式向标准形式推导6、错误:ERROR on proc 20: Neighbor list overflow, boost neigh_modify one (../npair_half_bin_new 阅读详情

相关推荐

lammps教程:常见运行错误及解决办法

对于lammps新手来说,最怕的可能就是辛辛苦苦编写完代码,上机运行时却发现代码出错。 Lammps是全命令行运行方式,对于习惯windows操作的小伙伴来说,界面不是很友好,可能在改错的时候有很多困扰。 当in文件出错不能运行时,多数情况下,lammps会给出错误提示。 不仅告诉我们出错的位置,也会提示出错的原因。 Lammps在官方手册也对错误提示进行了简单说明并给出了解决方案,具体可查看(https://lammps.sandia.gov/doc/Errors_messages.html)。 在前面文

lammps_jiayou的博客 1万+

How to enable packet forwarding for IPv4 and IPv6

Key words:/etc/sysctl.conf /sbin/sysctl /proc/sys Linuxrc/Documentation/networking/ip-sysctl.txt 方法一 proc/sys相关参数赋值 echo 1 > /proc/sys/net/ipv6/conf/default/forwarding –IPv6 echo 1 > /proc/sys/net/i

edison0716的专栏 2268

FinRL实战:5步搞定股票量化交易策略(附Python代码)

本文详细介绍了如何使用FinRL框架,通过5个步骤构建基于深度强化学习的股票量化交易策略。内容涵盖从环境搭建、数据获取与预处理,到交易环境构建、模型训练(如PPO算法),以及策略回测评估与优化的完整流程,并提供了可运行的Python代码示例,帮助读者快速入门AI驱动的量化交易。

weixin_29062865的博客 626

网络管理员必知的 Linux 系统目录

Linux这几年发展迅速,推出了很多版本。让我们眼花缭乱,不过在每个Linux的发行版本中,都存在一个/proc/目录,这就是Linux系统目录。有的也称它为Proc文件系统。对于那些网络管理员必须要掌握Linux系统目录。   在这个目录中,包括了一些特殊的文件,不仅能用来反映内核的现行状态和查看硬件信息,而且,有些文件还允许用户来修改其中的内容,以调节内核的现行工作状态,例如/proc/sy

xiaoshang的专栏 703

FPGA:UART串口接收(高干扰情况)

在上一篇文章中介绍过UART串口接收模块,其中一个需要优化的方向就是在高干扰情况下,如何实现可靠的UART串口接收任务。

weixin_50164178的博客 1671

kemeas算法继续优化——elkan kmeas算法

题记:又是凌晨3点的夜 elkan kmeans算法 在我的上一篇博客《kmeans算法性能改进_kmeans++算法+kmeans++优化算法+距离计算优化》中,在一般kmeans算法的基础上,添加了对于初始条件和距离计算更上的一些优化技巧。这篇博客聊一聊elkan算法,其实也是对于kmeans运行速度的优化算法。主要作用与kmeans的距离计算过程。 原理 假如我们已经知道任意两个样本之间的距离,再假设我们已经知道了样本1与聚类中心1之间的距离,根据三角性两边之和大于第三边,c+d>a,所以如果

铁血军的小博客 7065

neighbour table overflow 问题解决

接到保障,说某来机器服务没法访问,于是,准备连接

不以物喜不以己悲 1万+

HFSS实战项目——GPS北斗双模微带天线

本文设计了一款方形圆极化微带天线应用于北斗B1和GPSL1频段,满足高增益、低VSWR、适当方向图等要求。设计中心频率为1568MHz,介质板采用厚度h=1.6mm的Arlon AD450(tm)板,相对介电常数为4.5,采用探针馈电。

2401_87464239的博客 1766

kernel: Neighbour table overflow. 错误日志

台湾合作方给定的虚拟机总是报错误日志Mar1110:46:23cv00300005254-1kernel:__ratelimit:2237callbackssuppressed Mar1110:46:23cv00300005254-1kernel:Neighbourtableoverflow. Mar1110:46:23cv00300005...

weixin_34216107的博客 176

3步!Spring Boot+OCR引擎秒提身份证/营业执照?手把手教你从零实现!

OCR技术革新文档识别效率 本文演示了如何利用Spring Boot+Tesseract OCR+OpenCV构建自动化文档识别系统。相比传统人工录入,OCR技术可实现: 5秒极速提取身份证/营业执照关键信息 精准识别中文文本(准确率90%+) 正则过滤自动匹配结构化数据 技术要点: OpenCV图像预处理(灰度化+二值化) Tesseract多语言OCR识别 正则表达式精准提取证件号码 效率提升达100倍,错误率降低90%,适用于金融、政务等需要批量处理证件的场景。

java专栏 903

STM32 实现 4*4 矩阵键盘扫描(HAL库、标准库 都适用)

本文实现的代码是基于STM32HAL库的基础上的,不过标准库也可以用,只是调用的库函数不同,逻辑跟配置是一样的,按我这里的逻辑来配置即可。 1、键盘原理图: 原理举例:先把 F0-F7 内部拉高,这样这个8个引脚都是高电平,然后就进行列扫描。例如:假如按下3按钮,Y3 列扫描,把F4先拉低,然后读取F0-F3的状态,就会读出为1110,这就可 以知道是F3行拉低了,同时这时候是程序控制F4拉低的,这样就可以知道是F4列导致它转态变化了的,这样就可以定位出是F4列F3行的按键按下了;其他的列也是这样子扫描

lhh_qrsly的博客 7058

关于"Neighbour table overflow“的异常分析及解决方案

关于"Neighbour table overflow“的错误分析及解决方案   这几天在查看日志文件时,出现 "Neighbour table overflow"的邻表溢出问题,网上查看资料后去顶是arp表出现问题了,   以下是 option=com_content&task=view&id=333&Itemid=49的问题。 How to resolve "Ne

senlin1202的博客 7570

BGP路由聚合:自动聚合和手动聚合

路由聚合是指将多条具体的路由合并为一条聚合路由,以减少路由表的条目数。这种技术通过只向对等体发送聚合后的路由,而不发送所有的具体路由,来减小路由表的规模。同时,被聚合的路由如果发生路由振荡,也不再对网络造成影响,从而提高了网络的稳定性。

网络技术联盟站 1219

出现neighbour table overflow的情况,问题还未解决。

出现neighbour table overflow的情况,原因正在查找中....第一种说法: 内核维护的arp表过于庞大, 发生抖动, 因此导致了这种情况 几个内核ARP参数: ================================= gc_stale_time 决定检查一次相邻层记录的有效性的周期。当相邻层记录失效时,将在给它发送数据前,再解析一次。缺省值是60秒。 gc_thres

littleline的专栏 1284

Android开发工程师(IOT)面试指南与参考答案

【摘要】绿联科技招聘Android开发工程师(IOT方向),要求5年以上Android开发经验,精通Kotlin/Java,熟悉IOT设备交互及跨平台开发。岗位职责包括客户端开发维护、技术调研及性能优化等。核心考察点包括:Kotlin协程在IOT低功耗场景的应用、多协议设备连接层设计、音视频性能优化及离线架构实现。重点技术涉及蓝牙Mesh群控、BLE功耗优化及ReactNative混合开发。需具备GooglePlay合规经验,熟悉Android13+权限管理,并能提供量化性能优化案例。

郑伟强dev的专栏 721

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

neighbour table overflow

故障:客户端有些会突然连接不到服务器,ssh或ping都无响应 查找原因:查看/var/log/messages记录文件,发现大量出现neighbour table overflow的情况 第一种说法: 内核维护的arp表过于庞大, 发生抖动, 因此导致了这种情况 几个内核ARP参数: ================================= gc_stale_t

cybertan的专栏 3133

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Neighbour table overflow

kern.warning :Neighbour table overflow 这几天查看bug列表的时候,发现一个关于 Neighbour table overflow相关的bug。 从字面上看应该是内核 ARP 相关的 table cache 用光了,在这种情况下应该增加 ARP table cache 的大小。 那么该如何增加是一个问题,有问题先Google一下。 发现好多关于该问题的解决方法...

笔记专栏 778

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

关于Neighbour table overflow消息

 关于Neighbour table overflow消息   最近Linux服务器的屏幕上会一直出现「Neighbour table overflow」的信息,并且就连不上INTERNET了。这个问题已经困扰了我许久,但是因为事忙所以也没静下心来找一找解决的办法,只是每次都以把Linux服务器重启这个方法...

weixin_34068198的博客 307

Neighbour table overflow.

问题:系统不停的刷 printk: xxxx messages suppressed. Neighbour table overflow. 这时ping 网卡IP时输出 connect: No buffer space available 网上查说arp表满的原因,很遗憾,出现问题的时候我没有看arp表 解决:     1、没有攻击的情况下可以重启机器     2、echo "0

jlccwss的专栏 793

[转] Linux Neighbour table overflow 问题的解决2009-04-06 09:45“Neighbour table overflow ”问题的解决 独立作者: 周伟

[转] Linux Neighbour table overflow 问题的解决2009-04-06 09:45“Neighbour table overflow ”问题的解决 独立作者: 周伟网络上没有找到完整的资料,我写下这些与大家共同交流。前几天,我们公司的一台LINUX共享上网服务器老是提示:Jul 20 10:34:22 netgate kernel: Neigh

littleline的专栏 3124

转 neighbour table overflow 问题解决

接到保障,说某来机器服务没法访问,于是,准备连接到机器上去看个究竟. 尼玛居然连不上,连ping都ping不通,无奈只能求助机房. 机房人员检查, 发现报 neighbour table overflow 错误. 无奈让机房的人员重启了服务器.   查找原因,搜索得到如下说法:   第一种说法:内核维护的arp表过于庞大, 发生抖动, 因此导致了这种情况,几个内核ARP参数:====...

weixin_33941350的博客 174

proc/sys/net 详解(即时调整内核网络参数)

到这里,想必读者已经对/proc/sys/net/目录下的/proc/sys/net/core/和/proc/sys/net/ipv4/这两个目录,已经有了一定了解了。在/proc/sys/net/目录下有两个目录,与现在的IPV4网络的运行息息相关,调整这两个目录下的某些文件的参数,能为我们的网络应用带到意想不到的效果,这两个目录就是/proc/sys/net/core/目录和/proc/sys/net/ipv4/目录,下面笔者将会对这两个目录中的重要文件分别作一个详细的说明。

木牛的博客 658

/proc/sys/net/ipv4/ 下网络参数的理解

假如您将此值设为大于1024,最好修改 include/net/tcp.h 里面的 TCP_SYNQ_HSIZE,以保持TCP_SYNQ_HSIZE*16 0)或者bytes-bytes/2^(-tcp_adv_win_scale)(如果tcp_adv_win_scale 128Mb 32768-610000)则系统将忽略所有发送给自己的ICMP ECHO请求或那些广播地址的请求。默认值为 60 秒。如果您的系统是负载很大的web服务器,那么也许需要降低该值,这类 sockets 可能会耗费大量的资源。

weixin_42936764的博客 1819
上一篇: 硬盘更改后出现Unable to access resume device (LABLE=SWAP-sda2)
下一篇: 对多次ssh密码错误的IP进行防火墙拦截
linuxOOstudy
博客等级 码龄15年 1粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值