(whooshing)
- So this video which is continuing our discussion about
making sure you select an iOS software image
that will fit your needs within GNS3.
The next thing we're gonna talk about
is memory considerations.
Now, what do I mean by that?
Cisco iOS software, just like anything else
that you download, whether it be another web browser,
or an email client, or an instant messaging program,
they all take up memory within your laptop.
And I'm presuming your using some sort of laptop
or possibly a server to run GNS3,
and the memory that you have available on your laptop
is a constrained resource, right?
You only have so much of it to go around.
And this is something to think about
when selecting a Cisco iOS software image
for two reasons.
Number one, we want to make sure, if we have a choice,
once again you might not have a choice,
but if you have a choice among
different images that you can use,
if one image requires significantly larger
memory to run than another image,
it might be in your best interest to select
that other image that requires less memory.
For number one for your laptop, right?
It's gonna save memory on your laptop.
The more routers that you have open and running
the more memory it's gonna chew up on your laptop.
The more resources it's going to consume.
Another thing about memory considerations,
is when you actually go to import
the software image into GNS3 itself,
part of adding a new software image to GNS3,
telling GNS3, this is what I want to use,
part of that process is GNS3 will ask you,
how much memory do you want to allocate
for each router that's using the software?
Now if you do too much memory, it's not going
to hurt the router but certainly gonna hurt your laptop,
because you're gonna run out of memory that much faster.
You won't be able to create larger topologies.
On the flip side, if you allocate too little memory
to that software, well now your routers
might either not start up at all,
or they might start up with a whole bunch
of errors and trace back messages.
Or, they might start up, they might run for a little while,
and then you go to turn on
some new feature protocol and bang!
Now you start getting trace back messages and errors.
So we want to make sure that we're mindful of memory
in those two circumstances.
How much memory this particular image
is gonna chew up in my laptop every time I open up a router,
and how much memory does a software image take?
How do I know the answer to that
so when I'm importing it into GNS3
I can select the correct amount of memory.
So let's look at these to begin with.
So let's say that I had within,
I had available to me...
Let's say I had, so here I have... I'm fortunate
and I have several versions of software available to me.
So maybe I say okay let's see, how about the 7200 here.
I know there's lots of different port adapters
to go with 7200 so that's gonna give me a lot of choices
as far as what kinds of interfaces I want.
Well, if I'm gonna use that,
the first thing I'm gonna have to know
is how much memory is that going to consume?
I don't know the answer to that off the top of my head
so I'll go back to our trusty Cisco Feature Navigator
and research software,
and once again research it by platform, and iOS
because I know that this was a 7200 image I'm interested in.
So for my platform I'll find 7200 here in my list.
Here we go, 7200.
And that particular image was mainline 12.233
that's 12.233SRE, so let me just zoom in on here
in case you weren't able to see that.
This is the image I'm looking up right now, the 7200 series.
12.233 SRE alright? So let's just go down here.
So 12.2 and here is SRE.
And my particular one is 12.233SRE3.
So 12.233SRE3 there we go.
And the features that I have is advanced enterprise k9.
Here we go, advanced enterprise.
Alright, so it tells me right here
the minimum DRAM or Flash,
mostly I'm concerned with DRAM
because when this router is running
it's DRAM memory that's going to be used
for storing the iOS image,
creating my arc tables and routing tables
and all that stuff.
So you can see, a single router
is going to use up 512 megabytes of DRAM memory.
That's a lot!
So I better have a lot of memory on my laptop
to be able to handle that.
Well you might be saying, well but Keith,
I don't even know how much memory I do have on my laptop,
how do I figure that out?
Well, what you can do is,
now I'm just doing this based on Windows,
of course if you're using a Mac or Linux,
it'd be something different,
but in Windows if you click on your start button,
and then somewhere in there you'll find
Computer or possibly My Computer,
and if you right click on it and select Properties,
you'll get a box that looks like this.
And in my particular case, you can see
that my particular laptop has
basically about 8GB of RAM available.
So if each one of those 7200 series routers
was using about 500MB,
that means just two routers are using 1GB,
and remember the GNS3 application itself
is going to consume some memory.
And Windows is going to consume some memory
just to do the operating system, so,
probably not gonna be able to have
a whole lot of routers here if I'm using the 7200 series.
Well let's go ahead and try it.
Let's see what that looks like.
So I'll go now into GNS3, I've got it open already.
And this particular project here is called just Test,
so that we can reference it later on, my Test project.
And I'll go under Edit, Preferences,
and then under dynamips click on iOS Routers,
and here is where you actually add your iOS.
I'll get into this in just another video in a second,
we're gonna go through the whole walkthrough process
about downloading the software and setting stuff up.
But just as sort of a little preview here,
I'll go ahead and do New,
and I'll find that iOS image where it's located.
Here it is. Click open.
I'll say Yes, I want to decompress it.
And don't worry if I'm going a little fast for you
because we're going to walk through
all these steps coming up.
The main reason I'm showing this to you
is because I want to show you
how much memory this thing uses.
Now right here, Default RAM.
Because I've already used GNS3
several times before recording this video,
and because I've used it with this image,
it actually remembered how much RAM it takes.
You might be saying,
oh it's smart enough to figure that out!
No, it's not.
When I did this the very first time,
it defaulted to a RAM size of about 128 Mb,
which clearly, or Megabytes,
which clearly would not be nearly enough.
So just make sure that this number right here
is the same number that you found
on the Cisco Feature Navigator.
Now just a little word about that as well.
So in this Cisco Feature Navigator,
when it gives you that number like
this image requires 512MB or 256MB,
where they really come up with that number
is they say if you had that image running on your router,
and you had everything going,
every possible feature
and every possible protocol that this router could support,
if they were all running,
this is how much memory you would need.
Now chances are, when you're doing your GNS3 topology,
you're not going to be having every single thing running
that the software could potentially support.
So in reality,
when you're allocating your memory right here,
you probably could get away with doing a little bit less
than what the software actually requires.
Which is kinda nice
because if you were actually loading this software
on a real Cisco router, it wouldn't even load
if it didn't have that amount of DRAM.
But here, because we're emulating these routers,
I could get away with a little bit less if I wanted to.
But for the purposes of this demonstration
I'm just going to leave it to match the same number
that we saw in the Feature Navigator and click next.
I don't really care what I'm populating this with,
for the purposes of this demonstration
that's not really relevant.
So I'll just populate some slots here, find an idle PC,
and we'll talk about idle PC
also coming up in a future video.
This is basically a way to ensure that GNS3
and the emulated routers within it
don't completely hog and use up, as it says,
100 percent of your CPU.
Because if that happens then your laptop will just freeze.
And nothing will work.
So computing this idle PC gives us a number
to prevent that kind of situation from happening.
And in just a couple of seconds here,
we should get an idle PC value for that particular software.
And each software image is different.
Right now I'm doing it for 7200 series,
but even if I had another 7200 series software
that was a different feature set or a different version,
it would come up with a different idle PC value,
they're all different.
Okay, Finish.
So now we can see the 7200 is available here for me.
Alright, so let's just go ahead and apply that. Okay.
So let's just create a real simple project.
Now before I do anything, we can see that,
if I bring this up.
So what GNS3 does by default, is within your C Drive,
within your Users folder,
and then your name, whatever it is,
you'll see a GNS3 folder
and then a subfolder called projects.
And you can see that Test is in there.
Now, right now, I have not
added any routers to this project.
There's really nothing running,
so you can see when I just hover over it that project,
which is pretty much doing nothing right now,
is using about 74.2MB.
Alright let's see how that number changes
as I start pulling some routers into my project.
So let's go ahead and open this up
and let's just pull a single 7200 series.
Now, I haven't started it yet,
this router is sort of like in a powered down state,
it's there in the image but it's not running yet.
Did that actually change anything in my project,
let's hover it over it again, nope, still 74.2MB.
Okay, so that hasn't changed anything.
So let's just go ahead and add in,
let's just start with that one router.
So now I'm going to go ahead and turn it on.
Remember we were at 74.2MB before, right?
Now the router's running, one instance of a 7200.
Now, instead of 74.2MB, what are we up to now?
Well, it still says 74.2, but I find that highly suspicious.
Let's go into our projects file, dynamips.
And here we can see, okay, so we've got.
Here's my iOS image, and we can see
it's using roughly 262MB right now.
Now this is called a ghost file
and we can also see up here
the input output memory of 262MB.
That's one router! Let's add a second router.
Let's bring a second router of the exact same type,
7200 into the mix.
I'm not going to connect them or anything,
I'm going to go ahead and start that guy up.
Start. Okay?
So let's go back. Now look at this!
Now we have, if I zoom in on this a little bit,
we have 262MB for 7200_i3
and another 262MB for 7200_i2,
so you can see it's starting to consume
quite a bit more memory
each time I open up a new router
and I start it, it's consuming another 262MB
within my projects folder.
Now once I go back and I stop these guys,
don't need them anymore, so stop them,
go back to Users, and you can see now those folders,
those files are gone.
The only file that's left is the ghost file of 262MB,
but those other iO memory files
that were consuming a lot are gone.
Now you might be thinking, okay is that going to be the case
with every router that I have?
Well, not necessarily. For example.
In this particular project
let me go ahead and get rid of these two routers.
Delete, Yes. Right Click, Delete, Yes.
Instead let's use a 3725 which I already imported in here.
Okay? Let's turn one of these on.
Start. Let's go back to my projects folder.
Okay, let's refresh this a little bit. Refresh.
Okay so now at this point, if I zoom in,
we can see that I have a ghost file.
It always creates a single ghost file
that sort of represents that iOS image it's using.
So whether you've got two routers
or five routers or ten routers,
there's going to be one ghost file for that particular iOS.
So there it is, 262MB.
And let's see here, don't really see any iO MEM file
for the 3725.
This is really the single largest file right now.
Now it also has the 7200 in here,
that's sorta like a carry over
from when I had the 7200 in there.
As a matter of fact, let's just get rid of all of that.
So here's what I'm gonna do to make it nice and simple.
I'm gonna stop the router, close up shop.
Quit, yep. Discard.
I don't want any changes.
Alright let's go ahead and restart GNS3 again.
I'm just trying to show you how this affects
the memory of your laptop as I do these various things.
Okay, let's go ahead and title it Test2. Okay.
Edit, Preferences, Routers. Okay.
So for Test 2 I'm going to say I don't want the 7200 at all.
So let's just get rid of that image.
Apply. Okay.
Alright, so let's bring a 3725 into the mix.
Start it up, okay so we have one router.
But this time it's a different router, a 3725 router.
Now when we go into Test2 project, there it is,
and go into our project files, dynamips,
we can see with that 3725
that is currently running right now,
the single largest file we have
is our ghost file for that particular software image.
That's it.
Now remember what did we see with the 7200 series?
When I opened up a second router,
well with just one 7200 not only did we have the ghost file,
we also had this really large iO Mem file for the 7200
that was basically the same size.
And every time I opened a second 7200,
and then a third 7200,
that created another iO Mem file for that.
But notice, no iO Mem files for the 3725.
Let's go ahead and open up a second instance of that router.
Let's go ahead and drag and drop it.
Let's start it up, there we go.
Go back to our file, and notice once again,
we only have one large file, just the ghost file.
We don't have those really large iO Mem files
that we were seeing with the 7200 series.
So what's the takeaway from all of this?
We've talked about a lot of stuff.
The takeaway from this is, number one,
when you are importing your router,
your software images into GNS3,
some of those software images, like for the 7200 series,
every time you start a new router,
it takes up a gob of memory in your laptop.
We saw that with the 7200 series,
and I just had two routers in my topology.
Other software images like the 3725,
you can start up three, four, five, six
instances of those routers
but you're only going to have one large ghost file
representing the software,
you're not going to have multiple instances of other files
like these iO Mem files.
So that's really going to conserve memory in your laptop.
And the other thing we talked about was,
when you're importing a software image into GNS3,
one of the things it's going to ask you is,
how much memory do you want to allocate for this router?
As a good rule of thumb, it's a good idea to know in advance
how much memory that router image needs,
based on the Cisco Feature Navigator.
And once you have that, allocate that same amount into GNS3
for that particular platform.
(whooshing)