Virtual Memory Usage

by GRAPHISOFT and Andor Szőke · updated: 03.07.2012

When one works with large files (wants to view in 3D or render large models with ArchiCAD, send and receives into a large Teamwork file or do any other memory consuming operations) and ArchiCAD is crashing or is explicitly warning that it went out of memory or it just renders an empty image, then it is good to check how much memory it uses in order to decrease memory usage by making the file more efficient.

Some basics

In Windows or Macintosh Operating Systems the amount of the addressable memory for an application is limited. The “addressable memory” term means in fact the maximum size of Virtual Memory that an application can use. Virtual Memory of an application is the sum of the Physical Memory and the Page File Data allocated to A. For using the physical memory efficiently by multiple applications and by the system at the same time, some data that are not immediately needed for an application are saved in to the Page File that exists on the hard drive.

MemoryUsage.png

The figure shows that the Virtual Memory allocated to an application is made up by two parts: data in the Physical Memory and data in the Page File. The part of the virtual memory that is currently residing in the physical memory changes from minute to minute not just because the application might ask for more or release virtual memory but also because the system is always exchanging data between the paging file and the part in the physical memory.

The maximum of the Virtual Memory for an application is OS dependent. For a 32 bit application like ArchiCAD it is 2 GBytes in 32 bit Windows systems and it is 4 GBytes in 64 bit Windows systems and current MACs. In case of 32 bit Windows XP and Windows Vista it can be extended to 3GB. With AC13 Windows version having a 64 bit Windows will increase the virtual addressable memory per ArchiCAD instance to 8 TeraByte . You can read more on this at the end of this article.

  • If the virtual memory needed by an application is more then the maximum allowed then the application goes out of memory no matter how large the physical memory is.

Checking Virtual Memory Usage on Windows

To check how much virtual memory an application (e.g. ArchiCAD) uses on Windows systems one has to use the Process Explorer application provided by Sysinternals:

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

The standard built in Windows Task Manager is not good for this purpose because the term referred there as Virtual Memory Usage is not correct. So download Process Explorer and make the columns shown on the below screen capture visible:

Sysinternals.png

Virtual Size is the term used by Process Explorer for Virtual Memory. So one has to check how much this value is close to the limit defined by the OS.

As a side note it can be mentioned the Working Set column stands for the Physical Memory used by a particular application.

Checking Virtual Memory Usage on Macintosh

To check how much virtual memory an application (e.g. ArchiCAD) uses on Macintosh systems one has to use the Activity Monitor application available in the Applications/Utilities folder. After running it one has to choose the System Memory tab:

ActivityMonitor.png

Virtual Memory is the term used by Activity Monitor for Virtual Memory. That is a correct approach :). So one has to check how much this value is close to the limit defined by the OS. Please note that if the limit is 4 GBytes and the virtual memory usage increases until for example 3.8 Gygabyte and it stops and ArchiCAD seems not finishing properly its job then this might mean that in the last operation ArchiCAD tried to allocate a block of virtual memory more than the largest available memory block available.

As a side note it can be mentioned the Real Memory column stands for the Physical Memory used by a particular application.


What to do if it turns out that the virtual memory is not enough

1. In the Work Environment under Advanced Redraw Options Move the Memory Usage slider to Low. It will make some functions of ArchiCAD slower but it will use less memory. It might not always improve the situation because it only has effect on few functions.

2. If one is using 32 bit Operating Systems then he/she migh opt for a 64 bit one. What’s more with AC13 Windows version having a 64 bit Windows will increase the virtual addressable memory per ArchiCAD instance to 8 TeraByte .

3. If buying a 64 bit OS is not a solution at the moment then you can increase the amount of virtual memory given to an application on 32 bit systems:

  • For extending virtual memory on 32 bit Windows XP please follow the description on this link:

    For changing the amount of virtual memory on 32 bit Windows Vista please follow this description:

    • Extending virtual memory
      1. Go to Accessories program group of the Start menu and the right-click on the Command Prompt.
      2. From the context menu choose “Run as Administrator”.
      3. In the command prompt, enter “bcdedit /set IncreaseUserVa 3072″
      4. Restart the computer.

      Disabling it

      1. Go to Accessories program group of the Start menu and the right-click on the Command Prompt.
      2. From the context menu choose “Run as Administrator”.
      3. In the command prompt, enter “bcdedit /deletevalue IncreaseUserVa “
      4. Restart the computer.

4. One should separate the model file from the documentation file and this way memory usage can be made lower.

Related content

Windows XP

  GRAPHISOFT supports only "Professional" Edition officially, and none of the ArchiCADs were tested by Graphisoft on "Home" Edition. However, since the two editions only differ in their feature set ("Professional" edition has additional features…

Windows Vista

  ArchiCAD 11-16 on Windows Vista ArchiCAD 11-16 versions are fully compatible with Windows Vista on both 32 and 64-bit systems. ArchiCAD 17 and newer ArchiCAD 17 and newer versions are not supported on Windows Vista. This means that you can run…