我是mininet的新手,我尝试了两种方法来安装最新的mininet:
我收到此消息:当我使用Error setting resource limits. Mininet's performance may be affected
命令启动mininet CLI时sudo mn
。
什么是消息的意思,我不限制任何资源或我的机器不够好?我看到这样的issue,但我不是码头工人。
我得到答案,因为我的ubuntu版本是3.0.13-100,这个版本中的一个错误。如果你想解决这个问题,你需要更新你的内核版本
这个错误就是你运行这样的命令:
$ 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
我知道你没有使用docker但是对于任何使用Docker并最终在这里的人:
正如您在@rechard中看到的那样,当mininet无法设置某些网络参数来增加arp表时,会出现此警告。要在docker中修复此问题,您可以使用docker容器共享主机网络参数。
你可以找到完整的Dockerfile和docker-compose文件here。