вот нашёл на дружественом форуме результаты работы одного цискофана.
Интересно было ознакомится:
____________________________________________________________________
Ну что ж, подведу итог. МНЕ удалось запустить 11 экземпляров эмулятора и получить нормальный отклик. На Windows XP.
Linux не нужен в принципе, так как скорость на Linux и на XP абсолютно одинаковая (если все делать правильно!) Мерил с секундомером, цифры в конце. Кто не верит - приезжайте ко мне на работу, покажу. Соотвественно, люди, поставившие на XP - VMWare, на VMWare - Linux, а на Linux - dynamips :-) могут расслабиться и стереть два промежуточных компонента нафиг. Более высокая скорость на Linux - сказки дедушки Торвальдса :-)
Теперь подробнее. Сначала пояснения, потом текст скрипта для запуска на XP.
P.S. В качестве индикатора производительности использовалось самое простое - замерялось время отработки show run с секундомером. Приемлемым считается ~1 секунда на 1 эмуляторе и ~10 секунд - на 11 эмуляторах. Это основной фактор, критичный для любой лабы, т.к. sh run - весьма процессороемкая операция, а набирать ее приходится набирать постоянно... P.P.S. А все остальное, спасибо автору эмулятора, и так нормально работает ;-))))
----------------------------------------------
Сначала общие tips & tricks по повышению скорости, одинаковые для XP и Linux:
----------------------------------------------
1. Машина не ниже P4-2,8GHz/2Gb RAM. Занято эмуляторами 1,85 Gb. Если у вас меньше 2 Gb - дальше не читайте :-)
2. Иос подвовывается ЗАРАНЕЕ раззипованный. На скорость работы ПОСЛЕ загрузки это не влияет, но из зипованного иоса вы будете запускать ваши 11 эмуляторов 45 минут...
3. Ключ -Х при запуске эмулятора использовать НЕ НАДО! Невзирая на все утверждения автора эмулятора он НЕ увеличивает скорость работы. Он только увеличивает размер занимаемой памяти на PC (а у вас ее мало!). Проверено с секундомером на Linux и на XP при заусках 1, 4, 6 и 11 эмуляторов. Результаты с -X и без -X на 100% идентичны по скорости.
4. Эмулятор запускается с ключом -r 96. В 96 мегабайт на роутере 7200 влезает, например, иос c7200-p-mz.123-18.bin (Service Provider Featire Set) - все фичи необходимые для CCIE лабы на нем есть (включая ipv6). Этот иос - 16 мб зипованный/41 мбайт раззипованный. (Довольно мало для 7200 :-) Если кто-то найдет иос ЕЩЕ МЕНЬШЕГО размера с ipv6 не ниже 12.3, способный работать и не падать на 64 метрах памяти маршрутизатора - дайте мне знать, плиз, я тоже такой хочу... Впрочем, вы можете спокойно увеличить -r, если у вас больше 2 гигабайт RAM или меньше 11 симуляторов :-) Но 11 штук в 2 гига без свопинга влезают только с -r 96. И занимают 1,85 Gb.
5. Эмулятор запускается с ключом -k 16 (или -k 30). Это увеличивает скорость работы часов в симуляторе, иначе они будут работать раз в 10 медленне настоящих (debug ip rip с интервалом 3 минуты). На моей машине -k 16 дает время близкое к истинному, -k 30 - ускоренное. Ускоренное удобнее. Но больше -k 30 ставить не стоит - время в эмуляторах начинает идти НЕОДИНАКОВО и НЕРАВНОМЕРНО - отваливаются по таймаутам динамические протоколы, HDLC keepalives, и т.д. Скорость часов проще всего оценить по "debug serial int" - HDLC keepalives вылезают каждые 10 сек по часам роутера.
6. Один симулятор с ключом -r 96 и без ключа -X жрет 166 мб на XP и 130 мб на Linux. (это физическая память, виртуальной жрет еще столько же, но на нее можно наплевать). Это единственный параметр, по которому Linux чуть-чуть лучше XP. 11 эмуляторов жрут 1,85 Gb на XP (task manager) и 1,55 - на Linux (top, free). В любом случае вам нужно 2 Gb RAM на PC - вариантов нет.
7. Чтобы sh run работал быстрее, на роутере должно быть как можно меньше интерфейсов. Я использую минимум: -p 0:C7200-IO-FE -p 1:PA-4T+, то есть 1 Fast + 4 Serial. При этом на Fa0/0 можно сделать любое клиичество субинтерфейсов 802.1q, воткнуть все Fa0/0 со ВСЕХ эмуляторов в ОДИН виртуальный eth бридж (который на самом деле виртуальный хаб :-) и коннектить интерфейсы друг на друга не настройкой виртуального бриджа (за...бёшься :-) а банальным выбором номеров VLAN. У каких субинтерфейсов VLAN id одинаковы - те друг друга и видят :-) При этом на "родительском" F0/0 - "no ip address". Таким образом ВСЯ ethernet-топология стросится ТОЛЬКО конфигурационными файлами роутеров (!)
P.S. справедливости ради надо сказать, что от увеличения количества субинтерфейсов время sh run тоже увеличивается, но все равно описанный метод соединения Eth кажется мне лично удобнее, чем независимые F0/0, F1/0 и кросс-коннект средствами эмулятора.
8. НЕ запускать консоль в окне самого dynamips (как это происходит по умолчанию). Очень плохой отклик консоли и на Linux и на XP. Используйте -T 8888 и делайте телнет на этот порт - будет нормально.
--------------------------------------
Теперь самое главное - тюнинг XP.
--------------------------------------
9. Запуск симуляторов на XP производится ТОЛЬКО командой start /low <имя программы>. Ни с каким приоритетом кроме /low симулятор на XP нормально работать не будет. Причем независимо от того сколько вы их запускаете - 1 или
10. На XP распределение RAM по умолчанию стоит как "Minimize Memory Used" - что абсолютно не годится для запуска больших приложений. А изменить настройку памяти на XP можно только через реестр. Найдите в инете последнюю версию confignt, поставьте распределение памяти "Maximize Throughput for Network Applications" и ПЕРЕГРУЗИТЕ МАШИНУ (!). Иначе XP вытолкает ваши симуляторы в своп-файл и отведет себе, любимому, 600 Мб под файловый кэш.
11. Без /low симуляторы клинят друг друга, саму систему, и вашу терминальную программу в которой вы сидите. Именно запуск без /low "равносилен самобичеванию" как было написано выше. При этом терминальная программа, разумеется, должна запускаться с нормальным (дефолтовым) приоритетом.
P.S. Если вы используете VMWare или другие пожиратели памяти - то к вам это тоже относится. Тюнинг необходим во всех версиях 2000/2003 - там везде дефолтовые настройки не подходят для "пожирателей". Утилитой confignt это можно поправить в любой версии.
12. На Win2000 даже пытаться не надо. Автор об этом честно написал. ОЧЕНЬ хреново работает.
13. На Linux есть замечательные терминальные программы, позволяющие запустить 11 сессий в 1 окне под разными закладками и переключаться между ними клавиатурой без мыши. Для XP я нашел только 1 подобную - это SecureCRT версии 5.х Если кто-то знает что-то получше или знает где взять SecureCRT 5.х с нормальным краком - скажите, плиз :-)
-----------------------------------------
Cкрипт для XP. Запускает все 11 симуляторов одновременно в свернутых окошках (/min) с приоритетом /low. В файле base.txt лежит начальный конфиг роутера. Под каждый роутер создан отдельный каталог и в нем свой base.txt. Советую иметь начальный конфиг - т.к. с чистым NVRAM роутер стартует дольше.
P.S. настройки кросс-коннекта (типа -s 0:0:udp:10001:127.0.0.1:10002 и т.д.) для простоты опущены.
P.P.S. После запуска откройте task manager и дождитесь когда размеры всех 11 процессов достигнут ~166 Мб. Это признак того, что они полностью загрузились. Если процесс растет-растет а потом резко уменьшается в размере мегов этак до 10 - значит XP кинула его в своп. Вернитесь к пункту 10!
-----------------------------------------
set DRIVE=D: set ROUTERDIR=\7200\Routers
set SIMDIR=\7200\Dynamips set SIMULATOR=dynamips.exe
set OPTIONS= -k 30 -r 96 -t npe-400 set CARDS= -p 0:C7200-IO-FE -p 1:PA-4T+
set CONFIG=base.txt
set IOSDIR=\7200\IOS set IOS=unzip-c7200-p-mz.123-18.bin
%DRIVE%
cd %ROUTERDIR%\R1 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6001 -A 7001 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\R2 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6002 -A 7002 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\R3 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6003 -A 7003 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\R4 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6004 -A 7004 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\R5 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6005 -A 7005 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\R6 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6006 -A 7006 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\SW1 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6007 -A 7007 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\SW2 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6008 -A 7008 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\BB1 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6009 -A 7009 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\BB2 del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6010 -A 7010 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
cd %ROUTERDIR%\BB3
del pred* start /low /min %SIMDIR%\%SIMULATOR% -T 6011 -A 7011 -C %CONFIG% %OPTIONS% %CARDS% %IOSDIR%\%IOS%
---------------------------------------
Да, забыл обещанные цифры скорости. Мерил я, как я уже сказал, время выполнения sh run, иос - c7200-p-mz.123-18.bin, интерфейсы (это основное, что влияет на sh run) - 1 Fast + 4 Serial. Машина - P4-2,8Ghz/2Gb RAM, Windows XP без Service Packs. Настроены консоль и терминальные линии - больше в конфиге ничего нет.
1 эмулятор - sh run ~1 сек 4 эмулятора - sh run ~4 сек 6 эмуляторов - sh run ~5-6 сек 11 эмуляторов - sh run ~9-11 сек
Отклик консоли - до 4 эмуляторов - идеальный (никаких тормозов вообще не заметно), 11 - подтормаживает, но терпимо. На XP отклик значительно ровнее чем на Linux - на Linux он "дерганый".
Для XP и linux на одной и той же машине показатели скорости совершенно идентичны. Использовался Linux Mandrake 10. Кстати, в Linux-е у меня вылез SMP BUG (автор симулятора писал, что воюет с ним, но еще не победил :-) - под Linux Mandrake 10 по дефолту запускается ядро SMP (Dual Processor Core) а под ним симуляторы падают - запускаешь 11 - взлетают 10 :-)))). Если в Mandrake запускать ядро обычное (Single Processor Core) - то оно видит только 1 Gb RAM :-)))))) (О том, что процессор у меня всего 1, я вообще молчу...)
Я догадываюсь, что ядро надо перекомпилировать и включить какую-то опцию, но после того как я скачал исходники ядра и полюбовался на 80 мегабайт текста на С в нескольких тысячах мелких файлов... Я понял что искать нужную опцию в нужном файле я буду полгода. И еще не факт что она там есть - это мои предположения. Добравшись до данного пункта, я осознал, что терпение, отпущенное мне Всевышним на эту замечательную, открытую и охренительно гибкую операционную систему, полностью себя исчерпало. И ушел воевать с XP.
Результат - выше :-)