In past versions of SOLIDWORKS you may have seen warnings that “system resources are running low”. This could have been from depleting all available memory on the system (physical and virtual) or Windows GDI or User Object limit being reached.
Newer versions of the SOLIDWORKS Resource Monitor provide more insightful notifications. The SOLIDWORKS Resource Manager, originally introduced in SOLIDWORKS 2010, tracks the usage of Physical Memory, Virtual Memory, User Objects and GDI Objects.
If you are running low on memory (or commit charge), you’ll receive a SOLIDWORKS Resource Monitor Warning that “Available system memory is low.” You should close other applications/processes/documents to free up memory. It could be another program utilizing most of the memory. You can also increase the Virtual Memory available as outlined in this blog article. At some point it’s time to consider if more RAM should be installed on the machine. Browse our FAQ page for links to SOLIDWORKS Recommended Hardware.
Other possible warnings could be from reaching the limit of Windows GDI Objects (Graphics Device Interface) or User Object (User Interface). The two represent the Session View Space which includes items like windows, menus, icons, etc. Typically it’s the GDI Objects that reaches the limit, rather than User Objects. This may give warnings that “Available open document capacity is low.”
You can track the GDI Objects per application through the Task Manager.
- Start the Task Manager (right-click on Windows Taskbar to select Task Manager)
- In Windows 10, go to the Details tab. For Windows 7, go to the Processes tab.
- Right-click on one of the column headers and ‘Select Columns’
- Enable GDI Objects
- Click on the GDI Object column header to sort in descending order
Windows sets limits to the amount of objects available per application session. The default maximum limit per application in Windows is 10,000 for both User Objects and GDI Objects. Typically the limit is reached by having too many files open in SOLIDWORKS at the same time. Once you pass 85% of the GDI Object limit per process (8,500), the warnings will begin. As you get closer to the 10,000 object limit you’ll receive critical errors. Eventually you’ll get a message that you can no longer open any more files, or potentially experience unstable behaviour.
Best practice is to avoid having many documents open at the same time within SOLIDWORKS. Closing all files won’t necessarily bring the GDI Object usage back to the original amount when first launching SOLIDWORKS (typically under 1000 objects), but it should decrease to an acceptable value of close to 1000. Restarting SOLIDWORKS will reset the GDI Object count for a new session.
Also check what add-ins and custom macros you are running. These may be causing significant GDI object use.
If you must have many documents open simultaneously, the object limit per application can be increased manually through the Windows registry. Below is a Microsoft Library article showing the GDI registry key location of the 10,000 default limit. The theoretical max value per session in Windows 7 or 10 is 65,536, though you should always keep it far below this limit. Increases should only be done at small increments until the warning messages stop for your workflow (i.e. steps of 1000). If you are setting the limit value at 20,000 or greater, consider making changes to your workflow as this may start affecting your overall operating system functionality.
CAUTION: Improper changes to the Windows Registry can damage the overall operating system. Contact your IT or someone with knowledge of working in the Windows Registry before making any changes. It’s highly recommended to make backups before making any edits.
NOTE: Best practices should be taken in such a way that the default GDI limit should suffice. Modifying the default limits has not been officially tested and certified by SOLIDWORKS.
- The default decimal value is 10000 and can be edited
As you increase the GDI limit, the User Objects may start reaching its limit and cause instability. The default limit is again 10,000, but this also has a Windows Registry Key that can be changed up to a maximum value of 18,000. As you increase the GDI Object limit, consider setting the User Object limit to 75% of the GDI limit.
In the event that closing all files in SOLIDWORKS still keeps the GDI Object count close to the 10,000 default limit, contact your SOLIDWORKS reseller as this could indicate that you have a GDI Object leak.