I'm having a strange problem that I am having difficulty understanding. I just recieved a drawing package from a subcontractor of a pilot plant assembly. The top-level assembly is comprised of ~2000 components, and it only takes a couple of seconds to load and rebuild. I need to drill down though all of the subassemblies to get to each of the parts so I can inspect them and change their custom properties if necessary. So I open each subassembly as necessary then open the next until I get to the part level, take a look, save the part, close it, and open the next part until I've exhausted the subasseblies reaching up to the top-level assembly. No big deal right? That's what I thought.
After about 30 minutes of work I get the attached pop-up message. About five minutes after the message shows up SW will crash. My system specs are listed below. My RAM usage never extends over 3GB even though I have 8 available. My CPU usage never even spikes over a couple of percent. I have large assembly mode turned on, and all of my add-ins turned off.
I dug around the knowledge base and found this:
"The full error message is "SolidWorks has detected that your system resources are running low. It is recommended that you close some applications to free additional resources." Physical Memory, Virtual Memory address space, and GDI objects, and Desktop heap are all system resources which are monitored by SolidWorks 2010 and 2011..
1. Physical Memory is the amount of RAM installed on the system
2. Virtual Memory is the size of of virtual address space within the SolidWorks Process.
3. Desktop Heap - Portion of OS memory reserved for creation of UserObjects (menus, icons, windows,etc.)
4. GDI Objects - Resources that support Graphics
The bottlenecks relevant to the "system resources are running low" warning are typically two areas. The first is Physical RAM. If the System runs out of Physical RAM, SolidWorks will display this low resource warning. For cases where physical RAM is not maxed out, the next bottleneck becomes resources found with the Session View Space, more specifically GDI Objects.
The Session View Space consists of the USER Objects and GDI Objects being used by the running programs. USER Objects represent user interface elements like windows, menus, cursors, icons, and menu keyboard shortcuts. GDI Objects represent graphical device interface resources like fonts, bitmaps, brushes, pens, and device contexts (drawing surfaces).
USER Objects are created from the region of memory called desktop heap. Creating too many USER Objects, most notably when opening a lot of windows, will deplete desktop heap. The desktop heap size for Windows Vista and Windows 7 64-bit versions is 20 MB compared to 3 MB for Windows XP 32-bit. Desktop heap was increased on newer versions of Windows to make it possible to run more applications on systems that have more memory. The desktop heap monitor tools can be used to view the size of Desktop Heap and how much of each is in use on Windows XP. The tool hasn't been updated to work with Windows Vista and Windows 7 because the larger desktop heap sizes mean that desktop heap is rarely exhausted before other USER object limits are hit. Desktop Heap exhaustion will generate a slightly different warning to the user. Please see S-032171 for more information if you suspect desktop heap exhaustion as a resource bottleneck.
On 64-bit machines it's not likely that desktop heap will be exceeded, so the problem is more likely related to SolidWorks running out of GDI Object resources available by the operating system. By default, Windows XP, Vista, and 7 only allow 10,000 GDI objects per process. If SolidWorks is opening multiple components (especially those with external references), then SolidWorks may open many documents in separate windows, causing the resources to become exhausted.
Please see Solution S-048684 for instructions on finding out the cause of the "system resources are running low" warning message.
If you feel that warning is unwarranted for the amount of documents and applications you are running, please document the issue with SolidWorks RX and submit the issue to your SolidWorks Technical Support Professional.
References for the above information can be found in the Pushing the Limits of Windows series by Mark Russinovich.
I've boosted the Desktop Heap settings in my registry, but I still get the same problem. Any suggestions?
Windows 7 Pro, 64 bit, SP1
Intel Core i7-2600 CPU @3.40GHz
SW 2011 SP3.0
ATI FireGL V5600