system resources running low

I have been getting a system resource notification that SW has detected that my system resources are running low.

I have read several previous posts about this, and read S-048684 and S-048683 which were recomended in those previous posts. I have found that my GDI resourses are causing this message to appear. I currently have 9106 objects used. Which is over 9000, which causes this message to appear.

I only have one assembly windown open and two part windows, but I have been opening and closing parts all morning making updates and corrections. Is there some solution to this problem other that changing the registry key to allow for more than 10000 GDI objects? Why is this assembly driving up my GDI objects?

my system specs are attached along with the warning message. I am running SW2010.

What I am seeing is every time I open a part, GDI objects are added, but when I close the part, the GDI objects remain. So after a couple hours of opening and closing files the total GDI count surpasses 9000, and gives me the warning.

a restart does not seem to help the GDI problem. It is just running SW that creates the problem. As I mentioned when SW is not running, the GDI count is in the 300-400's. As I start to work in SW by the afternoon the GDI count is approaching 9000.

The most common workflow we're aware of that causes GDI handle usage to go up is: opening up part/sub-assembly document(s) from within an assembly by using the "Open Part" or "Open Assembly" command in the feature tree and then later closing the opened document. SolidWorks "holds on" to the GDI handles required for such documents until the master assembly is closed.

The default per-process GDI handle limit is 10000, regardless of platform (32-bit/64-bit) and RAM (which was a strange decision on Microsoft's part, but that's another story).

A temporary solution (other than the obvious close all documents or restart SolidWorks) is to raise the GDIProcessHandleQuota from the default 10,000 to say 20,000 or more (the max possible is 65536). I'd suggest only those who are on x64 with at least 8 GB of RAM should consider this.

We're actively working on this problem. Watch this space.

Regards,

Vajrang.

P.S. If you do have other workflows that cause the GDI usage to go up, please post them here and we'll look at all of them collectively. Thanks.

I'm glad to hear you are looking into this error. I get it all the time, even when I only have open two part files.

I have noticed that if I have too many Windows Explorer windows, Windows Explorer will take thousands of GDI objects. If I have our "Master" directory open where the released files are, it will slowly creep up into the many thousands. I assume this has something to do with the preview icons that SolidWorks creates for Windows Explorer. We have a "best practice" here to never actually keep that folder open in Windows Explorer, but it's easy to forget. It slows down our system, regardless, but will it have any effect on the stability of SolidWorks?

GDI handles is a shared limited resource, no different than RAM or disk space. So yes, it will affect the stability of SolidWorks. But runaway GDI handle count in explorer.exe is probably the worst kind for two reasons:

1. Whenever you do a File->Open or File->SaveAs from any application, the windows shell is injected into the process. All DLLs/memory/GDI/etc. resources needed by the shell start running in the host process.

2. Explorer.exe also hosts the OS shell. So if explorer.exe becomes unresponsive, your start menu, taskbar, system tray, etc. all become unresponsive.

Tip: Turn on "Launch folder windows in a separate process" in Windows Explorer's Tools->Options->View to mitigate this particular problem.

Approximately how many SW files do you have in the folder ? We've seen GDI usage go up in explorer when using the thumbnails, but it's usually in the 1000-1500 range and windows recycles the handles when you scroll and releases them when you close the explorer window.

Vajrang, is there any relationship between the graphics drivers and GDI, low system resources?

We have a new HP Z400 W3680 cpu, 12GB Ram, FX1800 on Win 7 Pro 64bit that keeps getting the low on system resources message, even though there is not much going on in the system besides some relatively simple drawings and models. Definately should not be low.

We had issues with the Nvidia driver un-installer with the certified SolidWorks driver ( apparently a known issue), and have tried 4 different approved drivers.

We are also on SW2010 sp4.

We ran the HP Performance Advisor and had it adjust the bios for SolidWorks, and we'll see if that helps.

We plan on ordering more of these machines, but this is now putting that off until we can figure out the right setup. The FX1800 has been around for a couple years now, so I'm wondering if we should switch to the new FX2000 which is pretty new and has good specs for a mid-range card.

If you have 8+ GB on your machine, you can safely increase your GDIProcessHandleQuota to say 20,000 or even more.

Vajrang.

Is increasing the GDI limit a bandaid to this problem? I'm just wondering how much of this I will see as we buy more and more 64bit machines. I just convinced the company that 64 and Win 7 is the way to go...

Several years ago (I think around SW2003'ish), I was a mold designer. I would design complete 400-800 part mold assemblies, constantly opening and closing individual parts. At times, I might open 30-50 part windows at one time, and even tile them. I could work all day and never even restart SW (unless it crashed of course, which wasn't very often). I think I rebooted that computer 6-7 times that year. Man I wish I still had that computer and SW version setup... It was as rock solid as I've ever seen....

Even some slightly previous and later setups I was running didn't require reboots no more than once a week at most. Sometimes even only once a month.

The point is, something has changed along the way. Nowadays, and for the last few years and computers, I too have to reboot multiple times a day. Is it hardware, software, or OS?!?!? I don't know. It could be a combination of things. But one thing is for sure. It shouldn't have to be that way. I think everyone that says you should reboot regularly is missing the point. If there is something causing you to have to reboot regularly, then as far as I'm concerned, there is a problem. I don't think that is the intent of the computer/software/OS manufacturers. I'm not saying there will never be problems. However, to have to plan on a regular reboot tells me that something is just not right.

BTW, how do you see the total GDI count? I can see it in the Task Manager for individual processes. But I can find a "total" count.