With the release of Civil 3D 2009 came a new list of system requirements. Here you can see the requirement for RAM increased from 2GB to 3GB. As the program progresses and requested features are added, so must the requirements to run this application. Most new machines are built with at least 2GB of RAM, and with the prices of DDR2 dropping, upgrades are becoming easier.
While 3GB is going to meet the needs of most of you, those who are working with larger drawings and images regularly ask what advantages they can get by increasing past the required amount, or even moving to a 64-bit system. This topic is sometimes misunderstood and there is a lot of conflicting information on the Internet (even among popular sites), so I felt this warranted a blog post. Keep in mind, I am a CAD-guy, not an IT-guy, so I will just touch the basics.
First thing to realize is that a 32-bit versions of XP and Vista are limited to 4GB of installed Physical RAM. Be aware, that not all of this memory will be available. This is most obvious for those of you with 4GB installed, as a chunk of this gets “used” by various hardware such as your video cards. This is why on XP and pre-SP1 Vista, you will not see a full 4GB shown on your Computer Properties. SP2 of Vista changed this so it “shows” 4GB. Meaning YOU can see 4GB, but your computer still sees less than that.
64-bit systems have been around for a while, but are starting to become more common. 64-bit environments allow almost an infinite amount of memory (~17 million terabytes!), although depending on your OS, this can actually be limited (Vista Ultimate tops out at 128 GB of installed RAM).
OK, now that we have the physical RAM restrictions out of the way, let’s talk about Virtual Memory. This term often gets misused, and as such, this can get confusing. Basically, Total Virtual Memory is the sum of your Physical RAM (installed in your computer) and the Page File you have set up Advanced System Properties. What is a Page File? This is sometimes called a Swap File and is a way of using your hard drive as additional memory. So, if you have 3GB of Physical RAM and a 3GB Page File, you will have roughly 6GB of Total Virtual memory. This is how your computer uses more memory than you actually have installed.
Now we need to talk about the limits of a 32-bit application. Each application gets allotted a virtual memory address up to 4GB (obviously limited by your total Virtual Memory). This is true, no matter how much RAM is installed. Here is where it gets tricky. Only 2GB of that is used for the process itself (i.e. acad.exe). The remaining 2GB is for the Kernel. So there are two places where you can run into problems. The first is once your system reaches your limit of Virtual Memory. The second is when you hit that 2GB process limit for Virtual Memory. Here is what Microsoft has to say about this topic.
“So what is this /3GB I hear about?” This switch changes the configuration described above so that 3GB of virtual memory address space will be allotted to the process, and only 1GB for the Kernel. Again, you are still going to be limited to your Total Virtual Memory. If you are the type that is working with large files, this may be something you want to look into. I would recommended booting normally for everyday use, and only "flipping the /switch" when you need it. While this sounds great, in practice, I was not able to actually get the acad.exe process up to 3GB before running out of Virtual Memory. It may still give you an improvement, however, but don’t expect miracles.
"I have 8GB (or more) RAM installed in my Vista-64 machine. I'm golden, right?" Well, not quite. Since Civil 3D is a 32-bit application, you still have the same process limitations as above. If it is "large address aware", which Civil 3D is, then you will have access to 3GB (with no need for the /3GB switch) of virtual memory address space. At first glance this doesn't sound like much of an advantage. But here is what you need to remember, each process will have 2 (if not “large address aware”) or 3GB of RAM available to it, and the increased Physical RAM allowed means that less of your Virtual Memory will be in the Page File. The less you are relying on the Page File, the better the performance. This means, depending on how much Total Virtual Memory you have, many more applications can be run at the same time. Of course, if you are running a 64-bit version of an application (such as vanilla AutoCAD 2009), you have virtually unlimited available memory for that process.
If this stuff is more than you wanted, and you are just curious what you can do with 8GB of Physical Memory installed in a 64-bit version of Vista, then here is some tests. In a single session of Civil 3D, I was able to open 11 copies of a 42MB drawing all at the same time! This is where I hit the 3GB limit for the process. Additionally, since very little of the Page File was being used, this were still extremely fast. Although this was just about the limit for that process, I still had plenty of room to play for the rest of the System. So, in addition to Civil 3D, I also opened:
- Google Earth
- Google Chrome Browser with 15 Tabs
- Windows Live Writer
- TrainingPeaks WKO
- Camtasia Studio
- Windows Media Player 11
All this and I was still using just under 60% of my Physical RAM. Just for fun, I opened a 2nd session of Civil 3D and opened ANOTHER 10 copies of these 42MB file! Now that is multitasking! Certainly, this would not be possible on a 32-bit machine. Take a look at the image above. You will notice each acad.exe process is using just under that 3GB limit.
So is 64-bit worth it? Well, it’s not perfect, and you will still have some limitations, but personally, I really enjoy the improvement when working with Civil 3D on my Vista 64 machine.
EDIT: In a 64-bit environment, the application will actually have a theoretical limit of 4GB of address space. However, due memory fragmentation and how it is allocated, this area above 3GB is not accessed. So, from a practical standpoint, 3GB is your ceiling.