Microsoft – OS – Desktop Window Manger (DWM) and Server OS / Applications

Background

A few days ago I stayed up till 3:00 AM trying to find out why a system was running so slow.

One benefit of writing things down is that you never quite forget all your problems.

Making hours of labor of long, arduous labor disappear makes for a short story:

I will remote desktop (rdp) to the server and will not be able to do much.  The machine was quite un-responsive.

Struggled with it quite a bit.

Did the following:

  • Checked for Out-dated device drivers
  • Looked for previously installed Device Drivers that no longer have corresponding hardware
  • Xperf’ed it – generic performance tool for identifying & isolating performance culprit
  • Group Policy (reviewed group policy logs – as logon\logoff were painfully slow, as well)

Finally looked more at CPU utilization …. In general it was low

But, in Task Manager saw a new “actor”, dwm.exe, that was taking up a bit of CPU; appreciably below SQL Server, but as I was not familiar with the Application, I wanted to dig a bit deeper.

So ended up finding out a bit about dwm:

Desktop Window Manager
http://msdn.microsoft.com/en-us/library/windows/desktop/aa969540(v=vs.85).aspx

The desktop composition feature, introduced in Windows Vista, fundamentally changed the way applications display pixels on the screen. When desktop composition is enabled, individual windows no longer draw directly to the screen or primary display device as they did in previous versions of Windows. Instead, their drawing is redirected to off-screen surfaces in video memory, which are then rendered into a desktop image and presented on the display.

Desktop composition is performed by the Desktop Window Manager (DWM). Through desktop composition, DWM enables visual effects on the desktop as well as various features such as glass window frames, 3-D window transition animations, Windows Flip and Windows Flip3D, and high resolution support.

The Desktop Window Manager runs as a Windows service. It can be enabled and disabled through the Administrative Tools Control Panel item, under Services, as Desktop Window Manager Session Manager.

Many of the DWM features can be controlled or accessed by an application through the DWM APIs.

Resolution

Here is one possible fix:

Turn off Visual Effects

  • Launch Control Panel
  • Access the “System and Security” section
  • Select the “System” applet
  • In the “System” window, click on the “Advanced System Settings” link
  • Access the “Advanced” Tab
  • From the “Performance” group-box, click the “Settings” button
  • In the “Performance Options”, select the “Visual Effects” Tab
  • In the “Visual Effects” tab, choose to Adjust for “Best Performance”

While in “Performance Options”, ensure that you ‘re configured for “Background Services“:

  • Launch Control Panel
  • Access the “System and Security” section
  • Select the “System” applet
  • In the “System” window, click on the “Advanced System Settings” link
  • Access the “Advanced” Tab
  • From the “Performance” group-box, click the “Settings” button
  • In the “Performance Options”, select the “Advanced” Tab
  • In the “Processor Scheduling” group box, choose “Background Services”

Disable the service “Desktop Window Manager”

  • Launch Control Panel
  • Access the Services Applet
  • Look for “Desktop Window Manager”
  • Stop it (if it is running)
  • Change Start-up mode to manual or disabled

 

Summary

Very important note:

MS “Desktop Window Manager” is unlikely to be causation.  DWM exposes its niceness via Interfaces & API ; and so what we probably have is a 3rd party Application not using that API as effectively as it can.

Addendum

Daniel Burrows [ @danielburrowes] ( 2015-08-18 )

Daniel’s comment:

Something to also keep in mind, Microsoft release a Hotfix relating to the DWM.exe and big relating to the lock screen timeout.

DWM.exe process consumes excessive CPU resources after a lock screen display time-out occurs
https://support.microsoft.com/en-us/kb/2957979

So please if you are running MS Windows 8 or MS Windows 2012, please be sure to pick up KB 2957979.

 

References

  1. Desktop Window Manager
    http://msdn.microsoft.com/en-us/library/windows/desktop/aa969540(v=vs.85).aspx
  2. Windows – 7 (DWM)
    http://oidk.net/2010/04/01/windows-7-dwm-dwm-exe-high-cpu-performance-issues/
  3. Windows – 7 – CPU Usage High
    http://superuser.com/questions/254343/windows-7-cpu-usage-high-for-explorer-exe-and-dwm-exe

2 thoughts on “Microsoft – OS – Desktop Window Manger (DWM) and Server OS / Applications

    • Tacayo (Spanish namesake):

      Thanks. Will amend the post as this is an important contribution.

      I can feel your spirit, you do not feel comfortable with taking without leaving something behind.

      God speed,

      Daniel

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s