Windows 7 - Alto uso de memória pelo DWM.exe ao minimizar programas

3

Atualmente estou usando o Windows 7 de 64 bits, não encontrei nenhum problema como este.

Eu tenho uma placa de vídeo da série Radeon Sapphire HD 6850 acompanhada por 4 GB de memória física com memória virtual ativada.

O serviço DWM.exe funciona perfeitamente na inicialização e tem um uso médio de memória de cerca de 30-45MB. ( Memória do conjunto de trabalho. Não é o valor de trabalho particular )

No entanto, ao minimizar qualquer janela, o DWM.exe dispara de 30 a 45 MB para aproximadamente 1 GB de uso de memória ativa. No entanto, se a janela for uma janela do explorer, ela também disparará explorer.exe para cerca de 1 GB, consumindo cerca de 3,14 GB de memória física até que a janela em questão não seja minimizada. (Se várias janelas são minimizadas, aumenta o uso de memória física 1GB por janela, excedendo a quantidade de RAM disponível e, eventualmente, apenas matando DWM.exe.)

Se o DWM.exe tiver sido desativado (ou desativado manualmente), o sistema funcionará perfeitamente, sem uso de memória anormal pelo explorer.exe quando os programas tiverem sido minimizados.

O programa DWM.exe está corrompido? Qualquer maneira de corrigir esse problema sem desativá-lo permanentemente?

Antes de minimizar um aplicativo:

Apósminimizarumaplicativo:

Esses definitivamente não são números normais ... Para esclarecer, não tenho nenhum programa explorador externo em uso; a única coisa no meu computador é o Advanced System Care 5, o Catalystic Control Center (AMD), o Skype, o Chrome, o Smart Defrag e o Windows 7.

Eu instalei o Catalyst reinstalado (Revertai para uma versão mais antiga), nada mudou. O DWM.exe ainda dispara no departamento de conjunto de trabalhos (memória) . (Fotos acima)

    
por Jaden 13.08.2012 / 19:34

2 respostas

1

Não é possível reproduzir aqui. Eu nunca vi nada assim. No entanto, não confunda o Conjunto de Trabalho e o Conjunto de Trabalho Particular.

O conjunto de trabalho inclui dados que são compartilhados entre processos, como arquivos DLL para os quais a mesma versão da DLL é usada por vários programas. Portanto, se o seu programa usa apenas 15 MB de dados e depende de 50 MB de DLLs já carregadas pelo sistema, o Working Set mostra essas duas figuras combinadas; o conjunto de trabalho particular mostra apenas a memória que é realmente consumida, executando esse processo. Em outras palavras, se você encerrar esse processo, a memória do Conjunto de Trabalho Particular sempre será liberada, mas o resto da memória do Conjunto de Trabalhos (provavelmente) não será, porque outros programas também estão usando esses recursos.

Dito isso, se você estiver vendo mais de ~ 150 MB de dados em seu conjunto de trabalho particular para o explorer e o dwm, é mais provável que seja um erro de driver com seus drivers AMD. Verifique se você tem os mais recentes; e se fizer isso, tente fazer o downgrade para a versão imediatamente anterior. Agora eu acho que é Catalyst 12,6 para o mais recente e 12,4 para o imediatamente anterior.

Isso soa como um vazamento de memória, ou você tem um tamanho de tela absolutamente enorme (6 monitores a 2560x1600 cada um ou algo louco assim). Eu tenho um sistema de dois monitores com um total de 2720x1924 de resolução, que é de 5.233.280 pixels ... se os dados de cor para um pixel forem de 32 bits (4 bytes), isso significa que armazenar uma imagem descomprimida completa do meu framebuffer requer 20.933.120 bytes, ou quase 21 MB. No entanto, dwm.exe está usando 13 MB de conjuntos de trabalho particulares e 35 MB de conjuntos de trabalho, com cerca de uma dúzia de janelas abertas e todos os efeitos ativados, incluindo animações minimizadas.

BTW, o framebuffer ocuparia 589 MB para um único frame se você tivesse seis monitores de 2560x1600, então mesmo assim o uso da memória do dwm é incongruente com o tamanho da tela, já que meu buffer de quadro de 21 MB consome apenas 13 MB conjunto de trabalho privado em dwm.exe - e tenho certeza que muito disso é coisas como shaders HLSL para os efeitos de vidro e várias bibliotecas DLL e outras coisas. Além disso, meu uso de memória do dwm não aumenta quando eu minimizo uma janela do explorador.

Você tem alguma extensão ou personalização do shell do Explorer instalada? Talvez WindowBlinds? Apenas dando uma facada nele. Um driver gráfico padrão com um pântano explorador padrão e DLLs de sistema não deveria fazer isso. Isso começou a acontecer depois que você fez alguma coisa no seu computador ou ficou assim pronto?

Sim. Este é provavelmente um bug de driver.

    
por 13.08.2012 / 20:25
1

Para verificar arquivos internos do Windows para corrupção, abra o Prompt de Comando Administrativo (Clique em Iniciar , digite cmd e pressione Ctrl Esquerda + Esquerda Shift + Enter ). Em seguida, digite sfc /scannow e pressione Enter. Tudo o que isso fará será verificar os arquivos do sistema e verificar se ainda são as versões originais ou, pelo menos, corresponder às versões corrigidas baixadas das Atualizações do Windows

    
por 13.08.2012 / 20:56