Mininet的CLI获取错误:设置资源限制时出错。 Mininet的表现可能会受到影响

时间:2017-03-21 07:19:18

标签: mininet

我是mininet的新手,我尝试了两种方法来安装最新的mininet:

  • sudo apt-get install mininet
  • 按源代码安装mininet

当我使用Error setting resource limits. Mininet's performance may be affected命令启动mininet CLI时,我收到此消息:sudo mn

消息是什么意思,我不限制任何资源或我的机器不够好?我看到issue这样,但我不是泊坞人。

2 个答案:

答案 0 :(得分:0)

我得到了anwser,因为我的ubuntu版本是3.0.13-100,这个版本中有一个错误。如果你想解决这个问题,你需要更新你的kernl版本

当您运行如下命令时,错误就是:

$ sudo sysctl -w net.ipv4.neigh.default.gc_thresh1=128

收到此错误消息:

error: "Invalid argument" setting key "net.ipv4.neigh.default.gc_thresh1"

版本3.0.13-96到3.0.13-100中的这个错误,详细视图为link

当mininet启动时,它将运行fixLimits()函数:

def fixLimits(): "Fix ridiculously small resource limits." debug( "*** Setting resource limits\n" ) try: rlimitTestAndSet( RLIMIT_NPROC, 8192 ) rlimitTestAndSet( RLIMIT_NOFILE, 16384 ) #Increase open file limit sysctlTestAndSet( 'fs.file-max', 10000 ) #Increase network buffer space sysctlTestAndSet( 'net.core.wmem_max', 16777216 ) sysctlTestAndSet( 'net.core.rmem_max', 16777216 ) sysctlTestAndSet( 'net.ipv4.tcp_rmem', '10240 87380 16777216' ) sysctlTestAndSet( 'net.ipv4.tcp_wmem', '10240 87380 16777216' ) sysctlTestAndSet( 'net.core.netdev_max_backlog', 5000 ) #Increase arp cache size sysctlTestAndSet( 'net.ipv4.neigh.default.gc_thresh1', 4096 ) sysctlTestAndSet( 'net.ipv4.neigh.default.gc_thresh2', 8192 ) sysctlTestAndSet( 'net.ipv4.neigh.default.gc_thresh3', 16384 ) #Increase routing table size sysctlTestAndSet( 'net.ipv4.route.max_size', 32768 ) #Increase number of PTYs for nodes sysctlTestAndSet( 'kernel.pty.max', 20000 ) # pylint: disable=broad-except except Exception: warn( "*** Error setting resource limits. " "Mininet's performance may be affected.\n" ) # pylint: enable=broad-except

答案 1 :(得分:0)

我知道您不是在使用docker,而是 对于使用Docker并最终出现在此处的任何人:

正如您在@rechard答案中看到的那样,当mininet无法设置某些网络参数来增加arp表时,会出现此警告。要在Docker中解决此问题,您可以与Docker容器共享主机网络参数。

您可以找到完整的Dockerfile和docker-compose文件here