Интерфейс командной строки Mininet получает ошибку: ошибка установки ограничений ресурсов. Производительность Mininet может быть снижена

Я новичок в мининете, я пытаюсь установить последний мининет двумя способами:

  • sudo apt-get установить мининет
  • установить мининет по исходному коду

Я получаю это сообщение: Error setting resource limits. Mininet's performance may be affected когда я использую команду sudo mn для запуска интерфейса командной строки mininet.

что означает сообщение, я не ограничиваю ресурсы или моя машина недостаточно хороша? я вижу проблема вот так, но я не докер.


person richard    schedule 21.03.2017    source источник


Ответы (2)


Я получаю ответ, потому что моя версия 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, подробный обзор этого ссылка

при запуске мининета будет запущена функция 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

person richard    schedule 30.03.2017

Я знаю, что вы не используете Docker, но для всех, кто использует Docker и оказался здесь:

Как вы можете видеть в ответе @rechard, это предупреждение появляется, когда мининет не может установить некоторые сетевые параметры для увеличения таблицы arp. Чтобы решить эту проблему в докере, вы можете поделиться сетевыми параметрами хоста с контейнером докера.

Вы можете найти полный файл Dockerfile и файл docker-compose здесь.

person Esterlinkof    schedule 27.03.2019