Por que o dwm.exe está usando muita memória?

24

Eu vasculhei a web, mas estou cansado de ler "varra seu computador em busca de vírus" e "atualize sua memória RAM" em respostas a perguntas semelhantes a esta. Eu entendo que dwm.exe é para (simplesmente colocar) bitmaps de cache para coisas como Aero-peek e similares, mas, tanto quanto eu li, não deveria estar usando grandes quantidades de memória.

Meu colega e eu temos 4GB de RAM, Core 2 Duo, blah, blah - essencialmente eles são bem capazes. Seu dwm.exe está rodando em torno de 30mb, o meu está rodando atualmente em cerca de meio gig, apesar de flutuar bastante. É o mesmo ao executar exatamente os mesmos aplicativos (atualmente o Zend Studio, o FireFox (com o uso de pouca memória), o Outlook). De vez em quando eu recebo uma notificação perguntando se eu quero mudar para o Aero Basic porque ele está usando muita memória, e às vezes ele simplesmente muda para o básico e me avisa o porquê.

Eu sei que é possível pará-lo de mudar, mas eu quero saber por que ele está usando muita memória, caso contrário, é apenas papel sobre as rachaduras.

Uma coisa a acrescentar é que isso parece ter começado depois de um assalto na segunda-feira, onde dois dos meus monitores foram roubados, e eu tive que usar temporariamente alguns monitores alternativos. Agora estou usando monitores novos, mas o problema é o mesmo. Todos os drivers instalados e funcionando aparentemente bem.

Alguma idéia porque o uso é tão alto?

Estamos usando o Windows 7 Professional de 64 bits.

Leonard Challis
fonte
Você consegue alguma pista do Proccess Monitor?
jmreicha
Que tipo de informação você consideraria uma pista no Process Monitor? Desculpe, não usei muito.
Leonard Challis
1
Você pode detalhar mais os processos e ver o que, se algum outro processo está falando.
jmreicha
dwm.exe realmente não parece aparecer em procmon ...?
Leonard Challis
Sim ProcMon pode ser um pouco peludo. Como sobre a ferramenta sysinternals Process Explorer? Você pode encontrar alguma pista com isso, talvez?
jmreicha

Respostas:

23

O DWM.EXEprocesso consumirá muita memória quando você tiver várias telas e o desempenho do sistema estiver definido como padrão Permitir que o Windows escolha o que é melhor para o meu computador . Para mudar isso:

  1. Vá para Computador -> Clique com o botão direito e escolha Propriedades
  2. Selecione a guia Avançado
  3. Selecione o botão Configurações na seção Desempenho . Isso irá aparecer a janela Opções de desempenho
  4. Na primeira guia é Visual Effects . Selecione Adjust for best performanceou Custom(e selecione o (s) recurso (s) desejado (s).

Eu escolhi a Custommim mesmo e selecionei apenas o Smooth edges of fontspara reduzir o uso de memória de 534M para 6M com a execução de 4 janelas.

wallfodder
fonte
2
Bem, se você não ativar o DWM, ele não usará nenhuma memória, é claro;)
Joey
1
Essa não é a resposta completa. Eu tenho melhor aparência definida nas configurações, e dwm.exe geralmente leva 80-100 MB de memória, mas recentemente ele começou esporadicamente espancando até 1300 MB de RAM. Se eu terminar o processo, ele reinicia automaticamente com 80 MB normais (e o estilo Aero se aplica imediatamente, portanto, não é como se o reinício matasse os efeitos visuais).
Violet Giraffe
1
Obrigado, isso tornou meu computador muito mais rápido, especialmente no Eclipse. Note que ele desliga 'Aero' e seus efeitos de janela transparentes etc.
pjc50
Eu tentei pela primeira vez a dica de computerhope.com/issues/ch001182.htm para mudar de (padrão?) Estilo Aero para Win tema básico - e este uso reduzido (mas não o suficiente para mim). Em seguida, eu tentei essa correção e isso realmente parece ter ajudado.
Lars Nordin
@ pjc50 Recentemente, comecei a usar o Eclipse e notei que o dwm.exe está tendo muito mais memória do que o normal. Talvez o Eclipse não funcione bem com o Aero?
Nicholas Pickering
6

Como não posso comentar ainda, adicionarei isso como resposta adicional. A Microsoft confirmou um vazamento de memória no DWM.EXE: https://support.microsoft.com/en-us/kb/3078667

Em suma, DWM.EXE vazamentos de memória quando as janelas de status estão abertas por um longo tempo.

Alexandr Zarubkin
fonte
1

Tente reiniciar o serviço dwm:

  1. Clique em Win+ re digite services.msc .
  2. Encontre o Gerenciador de Sessão do Gerenciador de Janelas da Área de Trabalho .
  3. Clique em Reiniciar o serviço e veja se isso o corrige.

Ou se você quiser se livrar do processo todos juntos, basta clicar em Parar .

eu sou o homem
fonte
Pelo que entendi, reiniciar o computador teria o mesmo efeito que reiniciar o DWM. E impedir que o DWM seja uma boa ideia, considerando que é necessário?
Leonard Challis
Tecnicamente sim, mas aqui leia isto, veja se isso ajuda em qualquer coisa: howtogeek.com/howto/windows-vista/…
imtheman
1
Eu não vejo como isso ajuda em tudo. Note que eu não recomendo desligar isso a menos que você esteja jogando em modo de tela cheia e, mesmo assim, provavelmente não ajudará a aumentar a velocidade. para começar, e eu realmente já li esta página (eu fiz o Google antes de postar esta pergunta). Eu também disse que é possível pará-lo de mudar, mas quero saber por que ele está usando muita memória, senão é só passar o papel pelas rachaduras. e isso não ajuda em nada.
Leonard Challis
A partir do Windows 7, é impossível parar o DWM (para que o serviço não apareça no services.msc)
marijnr
0

Outra dica de aceleração é segurar windows keye apertar r, digitar msconfige pressionar enter, clicar em boot tab> advanced optionsentão marcar e mark number of processorsdepois clicar na seta para baixo e selecionar o número máximo de núcleos 2 é duo 4 é quad hit ok.
Check mark log de inicialização e informações de inicialização do sistema operacional, em seguida, no botão direito make all boot changes permanente verifique se nada mais está aberto e bateu em applyseguida, reinicie.
A maioria dos computadores com Windows da Microsoft usa apenas um núcleo por padrão. Isso funciona no windows 8 e 8.1 com certeza. Eu não tentei em nada antes disso.
Boa sorte :)

louva a Deus
fonte
isso realmente não parece uma boa idéia estar mexendo com essa opção - especialmente o seu comentário "A maioria dos computadores com Windows da Microsoft usa apenas um núcleo por configurações de inicialização padrão". !!
Simon