Monday, April 8, 2013

Drastically decreasing CPU load in Dynamips

Running Dynamips takes a lot of CPU and memory and running a full CCIE topology on
a Windows machine can be tough. I do a lot of studying on my commute to my job
and I run some smaller labs but I have not been able to run a full topology on
my laptop until now.
I came across a post on IEOC (Internetwork Experts forum) on how to
dramatically decrease CPU usage. Original credit goes to Journeyofanetworkengineer.
There is a value called idlemax which is related to the famous idle-PC value.
There is not much information on what this value does. According to Greg
at Hacki forum idlemax specifies how many times the address that the idle-PC
value references is used before going to sleep. The default value is 1500.
I’m not sure about the magic behind this, maybe someone with more expertise
in Dynamips can explain this but lowering this value dramatically decreases
the CPU usage.
I was able to run the full INE topology at 20-40% CPU load on my Core2 duo
@ 2.13 GHz and 4 GB RAM. Without idlemax applied my CPU runs at close to
100% load.
This is before idlemax.
This is after idlemax.
This is what a hypervisor entry looks like in the .net file.
[localhost:7200]
udp = 10000
workingdir = C:\GNS3\Working
 [[3725]]
  image = C:\GNS3\IOS\c3725-adventerprisek9-mz.124-15.T10.extracted.bin
  ram = 128
  ghostios = True
  idlepc = 0x614ac21c
  idlemax = 100
We will need four entries like this with an unique port for localhost and unique port for UDP.
You can download my complete .net file here if you need it for reference.
If you use this tip please post in comments how much your CPU was decreased and if you
have any stability issues when running it at 100.
Related Posts Plugin for WordPress, Blogger...