55

I've scoured the web, but I'm sick of reading "scan your computer for viruses" and "upgrade your RAM" on answers to similar questions to this. I understand that dwm.exe is for (simply put) caching bitmaps for things like Aero-peek and similar, but as far as I have read it shouldn't be using vast amounts of memory.

My colleague and I both have 4GB of RAM, Core 2 Duo, blah, blah -- essentially they're pretty capable. His dwm.exe is running at around 30mb, mine is currently running at about half a gig, though it does fluctuate quite a lot. This is the same while running the exact same applications (currently Zend studio, FireFox (with firemin - low memory usage), Outlook). Every so often I will get a notification asking me if I want to switch to Aero Basic because it's using too much memory, and sometimes it will just switch itself to basic and let me know why.

I know it's possible to stop it switching, but I want to know why it is using too much memory otherwise it's just papering over the cracks.

One thing to add is this seems to have started after a robbery on Monday, where two of my monitors were stolen, and I had to temporarily use a couple of alternative monitors. I am now using brand new monitors but the problem is the same. All drivers installed and working seemingly fine.

Any ideas why the usage is so high?

We are using windows 7 64-bit Professional.

Excellll
  • 12,847

7 Answers7

46

The DWM.EXE process will consume a lot of memory when you have multiple screens and the system performance is set to the default of Let Windows choose what's best for my computer. To change this:

  1. Go to Computer -> Right click and choose Properties
  2. Select the Advanced tab
  3. Select the Settings button under the Performance section. This will popup the Performance Options window
  4. On the first tab is Visual Effects. Select Adjust for best performance or Custom (and select the feature(s) you want).

I chose Custom myself and selected only the Smooth edges of fonts to reduce memory usage from 534M to 6M with running 4 windows.

Oliver Salzburg
  • 89,072
  • 65
  • 269
  • 311
13

I use this batch code to refresh dwm.exe. There will be a blank screen for a second. The dwm.exe RAM usage will go back to normal.

I strongly recommend you close all of your applications to prevent program crash before executing

@ECHO OFF 
taskkill /F /IM dwm.exe 
taskkill /F /IM conhost.exe

This must be run as Administrator.

Nggarap
  • 176
10

Since I cannot comment yet, I'll add this as additional answer. Microsoft has confirmed a memory leak in DWM.EXE: https://support.microsoft.com/en-us/topic/system-malfunction-because-memory-leak-occurs-in-dwm-exe-in-windows-7-or-windows-server-2008-r2-360aef3b-8df7-d104-552b-5fdb0f0ec990

In short, DWM.EXE leaks memory when status windows are open for a long time.

AJM
  • 500
10

There's a confirmed memory leak with Intel's graphics driver versions between 27.20.100.8587 and 30.0.101.1191 (not inclusive) which will cause dwm.exe to eat memory in some situations. It got up past 19GB (!!) for me before the compositor crashed. It clearly doesn't happen all the time, seeing how it took me months to notice.

As of Oct. 2022, Windows Update is still distributing a buggy driver version. Installing a newer version from Intel will resolve the issue.

Source: https://www.intel.com/content/www/us/en/support/articles/000058381/graphics/graphics-for-8th-generation-intel-processors.html

mm201
  • 521
2

Try restarting the dwm service:

  1. Hit Win+r and type services.msc.
  2. Find Desktop Window Manager Session Manager.
  3. Click Restart the service and see if that fixes it.

Or if you want to get rid of the process all together, just click Stop.

imtheman
  • 4,783
-2

Another speed up tip is to hold the windows key and press r, type msconfig and press enter, click on boot tab > advanced options then check mark number of processors then click the down arrow and select max number of cores 2 is duo 4 is quad hit ok.
Check mark boot log and OS boot information, then in the right click make all boot changes permanent and make sure nothing else is open and hit apply then restart.
Most Microsoft windows computers only use one core by default boot settings. This works on windows 8 and 8.1 for sure. I haven't tried it on anything before that.
Good luck :)

Davidenko
  • 1,336
Mantis
  • 1
-3

i had this problem for a while and nothing really seemed to work.but i found out that after clearing my C drive, the memory usage went down.try to move unwanted programes from c to e/d drives.hope this helps you!

mex
  • 1