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.


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.


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


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 .


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 :)


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.