GDI Limits |
Tuesday, 04 September 2007 by Michel Roth | |||
GDI objects are a class of resources that help shape the Windows Operating system graphically. They facilitate the resources responsible for creating for dialog boxes, icons, menu items and so on. You could say that GDI objects are what make Windows Windows. If you are not a particularly heavy user of Windows you will probably never reach the limit of Windows in terms of GDI limits. However, a Terminal or Citrix server under a heavy load by lots of users could reach that GDI limit. This depletion of GDI handles can be caused by a faulty application that is "leaking" GDI handles or a user that is demanding a lot of GDI resources from the system. How can you tell if you have reached Windows' GDI limit? Well, it kind of looks like Windows is drunk ..... message boxes are empty, buttons are not click-able or parts of some application windows are just plain missing. It's quite easy to monitor the ammount of GDI objects a particular program has in use by just using good ol' task manager. Just add the column for "GDI Objects": If there's a process in there that keep claiming more and more GDI Objects without ever stopping, chances are you have a "leaker". If you find that indeed have depleted all the GDI objects available to you and you have determined that this is not being causes by a GDI handle leak, you could try and tune the GDI limit, in other words make it less restrictive. Remember that GDI handles are not in place for nothing. GDI handles are a kernel memory paged pool resource and when you run out of paged pool memory you are in a very unhappy place. So you can tune the GDI limits but be very careful about it. Kristan Kenny has an excellent article up on how you can tune the GDI limits in Windows (Server 2003). Microsoft also has a particularly handy KB article that helps you tune GDI limits as well: KB840342.
Show/Hide comment form
|