Perché dwm.exe utilizza così tanta memoria?


25

Ho cercato il web, ma sono stufo di leggere "scansiona il tuo computer alla ricerca di virus" e "aggiorna la tua RAM" per rispondere a domande simili a questa. Capisco che dwm.exe sia per (semplicemente metti) la memorizzazione nella cache di bitmap per cose come Aero-peek e simili, ma per quanto ho letto non dovrebbe usare enormi quantità di memoria.

Sia io che il mio collega abbiamo 4 GB di RAM, Core 2 Duo, blah, blah - in sostanza sono abbastanza capaci. Il suo dwm.exe funziona a circa 30mb, il mio è attualmente in esecuzione a circa mezzo concerto, anche se fluttua molto. Questo è lo stesso mentre si eseguono esattamente le stesse applicazioni (attualmente Zend Studio, FireFox (con firemin - utilizzo di memoria insufficiente), Outlook). Ogni tanto ricevo una notifica che mi chiede se voglio passare ad Aero Basic perché usa troppa memoria, e talvolta passa a se stesso e mi fa sapere perché.

So che è possibile smettere di cambiare, ma voglio sapere perché utilizza troppa memoria, altrimenti si tratta solo di incartare le crepe.

Una cosa da aggiungere è che questo sembra essere iniziato dopo una rapina di lunedì, in cui due dei miei monitor sono stati rubati e ho dovuto usare temporaneamente un paio di monitor alternativi. Ora sto usando nuovi monitor, ma il problema è lo stesso. Tutti i driver installati e funzionanti sembrano andare bene.

Qualche idea sul perché l'utilizzo è così elevato?

Stiamo usando Windows 7 64-bit Professional.


Puoi avere qualche indizio da Proccess Monitor?
jmreicha,

Che tipo di informazioni considereresti un indizio in Process Monitor? Siamo spiacenti, non l'ho usato molto.
Leonard Challis,

1
Puoi approfondire ulteriormente i processi e vedere con quali altri processi sta parlando.
jmreicha,

dwm.exe non sembra effettivamente comparire in procmon ...?
Leonard Challis,

Sì, ProcMon può essere un po 'peloso. Che ne dici dello strumento sysinternals Process Explorer? Riesci a trovare qualche indizio con quello forse?
jmreicha,

Risposte:


24

Il DWM.EXEprocesso consumerà molta memoria quando hai più schermi e le prestazioni del sistema sono impostate sul valore predefinito di Consenti a Windows di scegliere ciò che è meglio per il mio computer . Per cambiare questo:

  1. Vai a Computer -> Fai clic destro e scegli Proprietà
  2. Seleziona la scheda Avanzate
  3. Seleziona il pulsante Impostazioni nella sezione Prestazioni . Verrà visualizzata la finestra Opzioni prestazioni
  4. Nella prima scheda è Visual Effects . Seleziona Adjust for best performanceo Custom(e seleziona le funzioni desiderate).

Ho scelto Customme stesso e selezionato solo Smooth edges of fontsper ridurre l'utilizzo della memoria da 534M a 6M con l'esecuzione di 4 finestre.


2
Bene, se non abiliti il ​​DWM ovviamente non userà alcuna memoria;)
Joey,

1
Questa non è l'intera risposta. Ho l'aspetto migliore impostato nelle impostazioni e dwm.exe richiede in genere 80-100 MB di memoria, ma recentemente ha iniziato a sporadicamente aumentare fino a 1300 MB di RAM. Se termino il processo, si riavvia automaticamente con 80 MB normali (e lo stile Aero si applica immediatamente di nuovo, quindi non è come il riavvio uccide gli effetti visivi).
Violet Giraffe,

1
Grazie, questo ha reso il mio computer molto più veloce, specialmente in Eclipse. Nota che disattiva 'Aero' e i suoi effetti di finestra trasparenti ecc.
pjc50

Per prima cosa ho provato il suggerimento di computerhope.com/issues/ch001182.htm per passare dallo stile Aero (predefinito?) Al tema di base Win - e questo ha ridotto l'utilizzo (ma non abbastanza per me). Successivamente, ho provato questa soluzione e questo sembra davvero aver aiutato.
Lars Nordin,

@ pjc50 Di recente ho iniziato a utilizzare Eclipse e ho notato che dwm.exe occupa molta più memoria del solito. Forse Eclipse non funziona bene con Aero?
Nicholas Pickering,


1

Prova a riavviare il servizio dwm:

  1. Premi Win+ re digita services.msc .
  2. Trova Gestore sessioni Desktop Window Manager .
  3. Fai clic su Riavvia il servizio e vedi se lo risolve.

O se vuoi sbarazzarti del processo tutti insieme, fai semplicemente clic su Stop .


Da quello che ho capito, riavviare il computer avrebbe lo stesso effetto del riavvio di DWM. E fermare DWM sarebbe una buona idea, considerando che è necessario?
Leonard Challis,

Tecnicamente sì, ma qui leggi questo per vedere se questo aiuta: howtogeek.com/howto/windows-vista/…
imtheman

1
Non vedo come questo aiuti affatto. Nota che non ti consiglio di disattivarlo a meno che tu non stia giocando in modalità a schermo intero, e anche allora probabilmente non ti aiuterà ad aumentare la velocità. per cominciare, e ho già letto questa pagina (ho fatto Google prima di pubblicare questa domanda). Ho anche detto che so che è possibile smettere di cambiare, ma voglio sapere perché sta usando troppa memoria, altrimenti sta solo incartando le crepe. e questo non aiuta affatto.
Leonard Challis,

A partire da Windows 7 è impossibile interrompere DWM (quindi il servizio non viene visualizzato in services.msc)
marijnr

0

Un altro suggerimento per l'accelerazione è tenere premuto windows keye premere r, digitare msconfige premere enter, fare clic su boot tab> advanced optionsquindi controllare mark number of processorsquindi fare clic sulla freccia giù e selezionare il numero massimo di core 2 è duo 4 è quad hit ok.
Seleziona il registro di avvio e le informazioni di avvio del sistema operativo, quindi fai clic con il pulsante destro make all boot changes permanente assicurati che non sia aperto nient'altro e premi, applyquindi riavvia.
La maggior parte dei computer Microsoft Windows utilizza un solo core per impostazione predefinita. Funziona sicuramente su Windows 8 e 8.1. Non l'ho mai provato prima.
In bocca al lupo :)


questa in realtà non sembra una buona idea confondere con questa opzione, specialmente il tuo commento "La maggior parte dei computer Microsoft Windows utilizza solo un core con le impostazioni di avvio predefinite". !!
Simon,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.