我是mininet的新手,我尝试了两种方法来安装最新的mininet:
当我使用Error setting resource limits. Mininet's performance may be affected
命令启动mininet CLI时,我收到此消息:sudo mn
。
消息是什么意思,我不限制任何资源或我的机器不够好?我看到issue这样,但我不是泊坞人。
答案 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。