Por que metade da minha RAM de 8GB está faltando?

26

Estou sentado com 8 GB de RAM há 2 anos, ainda pensando que precisava de mais 4 GB e nunca questionando por que tantas vezes recebo mensagens sobre pouca memória física que fecharia todos os programas abertos (Firefox principalmente porque é principalmente o que eu uso) se não prestasse atenção para imediatamente. Eu precisaria reiniciar os programas usando a maior parte da memória (o Firefox é um deles) para continuar funcionando normalmente e não perder nenhuma alteração não salva.

De qualquer forma, eu notei que, embora o sistema veja 8 GB de RAM, ele ainda usa metade dela e eu demonstrarei isso com capturas de tela ainda mais.

Capturas de tela combinadas do System Information and Task Manager:

insira a descrição da imagem aqui

Captura de tela do Monitor de Recursos:

insira a descrição da imagem aqui insira a descrição da imagem aqui

Imagem do RAMMap:

insira a descrição da imagem aqui

E, finalmente, minha condição de swapfile uma vez e outra. O ponto é que ele é grande o tempo todo:

insira a descrição da imagem aqui

Observe a memória " Disponível " e " Livre " da captura de tela acima. É o que vejo no Gerenciador de tarefas na maioria das vezes e abrir outras 5 a 7 guias no Firefox faz com que o aviso " Memória insuficiente " seja exibido.

Placa de vídeo primária usada atualmente:

insira a descrição da imagem aqui

Alguma ideia?

WLTRAY.EXE não foi mencionado aqui, mas veja isto:

insira a descrição da imagem aqui

Especificações do sistema

  • Dell Latitude E6420
  • 8 GB de RAM, SSD Intel de 120 GB
  • Placa gráfica Intel HD, nVidia NVS4200M
  • Windows Enterprise de 64 bits

ATUALIZAÇÃO 3 de maio de 2014 - Não acho que o problema estava no processo do adaptador sem fio. Eu ainda acho que isso tem a ver com o Firefox. Aqui está uma captura de tela do Gerenciador de tarefas:

insira a descrição da imagem aqui RamMap:

insira a descrição da imagem aqui

VMMap:

insira a descrição da imagem aqui

ATUALIZAÇÃO: 01/04/15

Parece que todo o meu sistema tem vazamento de memória. Tentei usar o Chrome e, eventualmente, como no Firefox, ele trava com a mensagem vista aqui ou resulta em BSOD ou tela em branco, onde reiniciar é a única maneira de trabalhar novamente.

Aqui está o meu navegador Chrome em execução após várias horas da última reinicialização, com 29 guias:

gestor de tarefas do Windows

insira a descrição da imagem aqui

Monitor de recursos

insira a descrição da imagem aqui

Gerenciador de tarefas do Chrome

insira a descrição da imagem aqui

Reiniciei o Chrome e aqui estão as estatísticas:

gestor de tarefas do Windows

insira a descrição da imagem aqui

Monitor de recursos

insira a descrição da imagem aqui

Gerenciador de tarefas do Chrome

insira a descrição da imagem aqui

Boris_yo
fonte
No Vista, seria Propriedades do sistema / Avançado / Opções de desempenho / Avançado / Alteração da memória virtual - A opção está definida como "Gerenciar automaticamente o tamanho do arquivo de paginação para todas as unidades"?
Daniel R Hicks
12
Até onde eu sei, não há aviso do Windows sobre pouca memória física. O aviso se refere à pouca memória virtual e ocorre quando a memória confirmada para todos os processos excede a soma da memória física e do espaço no arquivo de paginação. Você tem um arquivo de paginação muito pequeno. Isso está causando o problema.
David Marshall
1
Você perdeu a captura de tela mais importante: O gráfico na parte inferior da guia "Memória" no Monitor de recursos.
Daniel B
Bem, não posso ajudá-lo exatamente, mas a fonte do problema é evidente: o buffer de gravação em disco está ocupando quantidades enormes de memória.
Daniel B
2
@Boris_yo - You want your page file to be filledNão, você não faz; você deseja que a RAM física seja preenchida antes de tocar no disco.
Synetech

Respostas:

17

"Por que metade da minha RAM de 8GB está faltando?"

Não está faltando , nem é usado . Aproximadamente 4GiB estão em uso ativo, e um adicional de 3,3GiB está inativo, mas também em uso. O 3.3GiB está pronto para ser paginado em disco, mas você não tem espaço alocado para ele, portanto permanece na RAM física. A memória "modificada" efetivamente não é diferente de "Em uso", se houver falta de páginas do disco.

Nem um sistema operacional de 64 bits nem PAE permite que qualquer processo de 32 bits para usar mais de 4GiB (2 user / 2 kernel de 32 bits / PAE, o usuário 4GiB em x64 Veja:. Empurrando os limites do Windows: Memória Virtual ) de memória se essa memória está atualmente paginada na RAM física ou no disco.

Portanto, para o Firefox, que não possui uma versão de 64 bits, isso significa que o Firefox está limitado a 2GiB (PAE) ou 4GiB (x64) de memória do espaço do usuário, independentemente da RAM instalada. Mesmo se você tivesse 64 GB de RAM física instalada, se o Firefox exceder o uso, o limite de memória será esgotado.

Isso parece excessivo e possivelmente indicativo de vazamento de memória ou identificador. Pior, no seu caso, o arquivo de paginação não é grande o suficiente para mover qualquer processo de vazamento para o disco, então você essencialmente o forçou a vazar exclusivamente na RAM física.

No artigo TechNet Tendo um problema com o uso excessivo de memória "modificada" no Win7 x64, acima de 3,6 GB, alguma sugestão? , um usuário com sintomas semelhantes (grande bloco compartilhado / modificado) encontra:

Memória modificada é a memória que foi alocada por algum aplicativo e removida do conjunto de trabalho do aplicativo, geralmente porque não é usada há muito tempo. O fato de a maior parte de sua memória estar nesse estado significa duas coisas:

  1. Alguns aplicativos (ou vários aplicativos) alocaram muita memória e não estão usando a maioria ativamente. Muitas vezes (mas nem sempre) isso ocorre devido a um vazamento de memória no aplicativo.
  2. O arquivo de paginação não é grande o suficiente para o sistema mover toda essa memória não utilizada para o disco.

No final, como sugerido por magicandre1981, o problema era o aplicativo de bandeja de LAN sem fio da Dell (Broadcom):

Obrigado a todos, eu estava tendo o mesmo problema e adicionei alças e GDI e vi o BCMWLTRY.EXE, o utilitário de bandeja sem fio da Dell, criando alças sem parar. Obrigado pelo conselho. Atualização: desabilitei o serviço que iniciou o BCMWLTRY.EXE + e agora não estou vendo o identificador vazar. O WLTRAY.EXE ainda está em execução, mas não está vazando alças.

Da mesma forma, em Memória modificada excessiva na memória compartilhada ,

O utilitário wlan da Dell foi o motivo. Matar o processo bcmwltry.exe no gerenciador de tarefas liberou memória. Mas esse processo foi iniciado novamente após alguns segundos. Era meio ruim - eu não conseguia desinstalá-lo. Felizmente, este notebook precisava mudar o sistema operacional de qualquer maneira, então nem estou tentando consertar isso. ... O mesmo problema exato aqui. Matar e desabilitar a DW WLAN (bcmwltry.exe) liberou 5 GB de memória. Vaza.

O aplicativo de bandeja BCMWLTRY.EXE também está implicado no Pagefile continua crescendo até eu ficar sem memória

Referências adicionais para problemas de bandeja sem fio BCMWLTRY.EXE / Dell (WLTRAY.EXE), diagnósticos e resoluções:

Portanto, não é realmente o driver nesses casos, é o aplicativo de bandeja que acompanha o driver. Concordo que, dado o OEM da sua placa sem fio, que o BCMWLTRY.EXE está sendo executado e o número bastante grande de problemas quase idênticos, isso faz parte do problema.

Você também pode adicionar as colunas "Alças" e "Falhas na página" ao Gerenciador de Tarefas para verificar o uso excessivo de ambas, caso haja mais programas errantes. Você pode usar o SysInternals VMMap para visualizar a alocação de memória virtual do ponto de vista de cada processo. Lidar com vazamentos é insidioso, porque eles provavelmente também estão vazando objetos do Windows. A Microsoft disponibiliza uma ferramenta chamada Application Verifier que, entre outras coisas, ajudará a rastrear alças com vazamentos.

Portanto, a resposta é: você provavelmente tem um vazamento de memória, é provável que esteja no BCMWLTRY.EXE (ou em algum outro aplicativo que vaze identificadores ou recursos compartilhados semelhantes), e o sistema operacional tenha passado fome de páginas com backup em disco para lidar mais "graciosamente" * como uma condição.


* Não há nada particularmente "gracioso" em um vazamento de memória, mas um arquivo de paginação ~ 4GiB teria permitido que o processo atingisse seu limite de herança (atuando como uma cota) e depois travasse, criando um padrão óbvio no log de eventos de um determinado falha no processo seguida por uma liberação de todos os recursos e, se reiniciado, repita. Sem o inerente limite de espaço de endereço de 32 bits, ele poderia ter consumido muito espaço em disco primeiro. Agora , como todos os processos estão com recursos limitados, fica menos claro se ele está sendo fechado devido a seu próprio vazamento (Firefox) ou porque outro aplicativo (BCMWLTRY).

Maxx Daymon
fonte
Não há como lidar com essa situação normalmente. Bater o disco com a operação de paginação certamente não é uma solução elegante. Na verdade, eu suspeito que o pequeno arquivo de paginação tenha poupado muitos problemas, pois ele ficou preso no vazamento de memória antes que o sistema se tornasse completamente inutilizável devido à paginação constante.
Ben Voigt
@BenVoigt Graceful pode não ser o melhor termo nesse caso, mas certamente é discutível se a falha rápida ajudou nesse caso. Como todos os processos são de 32 bits, ter um arquivo de paginação ~ 4GiB teria permitido que um processo incorreto / com vazamento excedesse sua capacidade de endereço, morresse e tivesse a memória retornada em um ciclo muito óbvio (no log de eventos), sem passar fome demais. processos de memória (por exemplo, a perda de dados causada pelo Firefox). Um processo descontrolado de 64 bits em um sistema operacional de 64 bits seria mais problemático e as cotas seriam úteis lá.
precisa saber é o seguinte
No blog de Mark Russinovich, Empurrando os limites do Windows: memória virtual, ele detalha os fatores na escolha de um tamanho de arquivo de paginação. No final, cabe ao usuário se eles desejam um risco consideravelmente maior de perda de dados sob carga ou maior risco de desaceleração sob carga e até que ponto eles desejam correr cada risco. Todo o objetivo da memória virtual é permitir que essa escolha seja feita.
Maxx Daymon
O sistema operacional é definitivamente a versão de 64 bits do Windows 7, porque a captura de tela do Gerenciador de Tarefas mostra 8 GB de memória física total. No Windows 7 de 32 bits, esse valor não excederá 4 GB.
Andrew Medico
1
@AndrewMedico É um ponto discutível. Como and31415 apontou, o OP está usando 64 bits. Ainda assim, o PAE é ativado no cliente x86 Windows em máquinas capazes, mas configurá-lo para permitir> 4GiB parece uma violação da licença e, portanto, não é apropriado compartilhar aqui, mas muitas pessoas o fazem apesar da violação do licenciamento.
Maxx Daymon
13

Sua lista de memórias modificadas é muito alta (consulte a barra laranja grande no ResMon). Isso está usando mais de 3 GB de RAM. Uma causa conhecida são os drivers antigos do Broadcom Wifi. Se o seu laptop usa um adaptador Broadcom Wifi, atualize os drivers ou interrompa a inicialização do BCMWLTRY.EXE com o msconfig.exe para corrigi-lo.

magicandre1981
fonte
Eu tenho o cartão DW1530 Wireless-N WLAN Half-Mini. Existe uma maneira de determinar o consumo de memória no nível do driver?
Boris_yo
3
Você pode fornecer uma referência para apoiar sua resposta?
Abhijit
@ Abhijit - O problema é bem conhecido. Eu concordo que esse problema é realmente causado por um driver.
Ramhound
1
De longa data problemas com vazamento de memória BCMWLTRY.EXE
Maxx Daymon
9
The problem is well known.Talvez, mas isso não significa que mesmo as pessoas que estão familiarizadas com ela, muito menos aquelas que não são, podem simplesmente fazer o diagnóstico e o diagnóstico sem um link para uma página com as etapas apropriadas. Se você se referir a algo assim, é apropriado vinculá-lo a ele, em vez de apenas esperar que as pessoas saiam e procurem por si mesmas. Se é isso que você espera, basta mencioná-lo em um comentário, não em uma resposta.
Synetech
6

Eu tive uma brincadeira comigo há algum tempo atrás, onde alguém havia editado minhas configurações do MSConfig, limitando minha memória máxima, da seguinte forma:

MaxMem

Portanto, essa é outra causa potencial.

JMK
fonte
Obrigado pela ajuda, mas ninguém fez brincadeira semelhante em mim.
Boris_yo
4
Este não é o problema aqui. O sistema operacional está vendo e usando todos os 8 GB de RAM.
Andrew Medico
4

O problema parece ser devido ao pequeno arquivo de paginação. Conforme sua captura de tela, seu sistema possui uma considerável memória modificada. Memória modificada é a memória que está aguardando para ser gravada no arquivo de paginação antes de ser movido para o modo de espera. Aumentar o seu arquivo de paginação reduziria efetivamente a sua Memória Modificada, o que aumentaria efetivamente a sua espera e a memória disponível.

Abhijit
fonte
A gravação de 3 GB extras de "memória modificada" no arquivo de troca não faria nada, exceto 3 GB extras de gravação em disco, desgastando seu SSD e diminuindo a velocidade de outros programas que precisam fazer E / S de disco.
21413 Ben Voigt
2
Certamente conseguiria algo: liberaria 3 GB de RAM para processos que realmente querem usá-lo ativamente.
Andrew Medico
Os outros processos com RAM livre não os ajudam se estiverem aguardando na fila de E / S. E ter RAM livre é temporário, quando você tem um vazamento tão grande, você está apenas dobrando o tempo.
Ben Voigt
2

Seu sistema está usando todos os seus 8 GB de RAM, apenas não o usando com a eficiência que você deseja. Eu vejo uma quantidade enorme de cache no sistema. O Windows diminuirá automaticamente o tamanho do cache, pois os aplicativos precisam de mais RAM.

Em relação ao tamanho dos arquivos de página, citarei alguém (Mark Russinovich) que realmente sabe do que está falando:

Quão grande devo criar o arquivo de paginação?

Talvez uma das perguntas mais comuns relacionadas à memória virtual seja: qual o tamanho do arquivo de paginação? Não há fim de conselhos ridículos na Web e nas revistas que cobrem o Windows, e até a Microsoft publicou recomendações enganosas. Quase todas as sugestões são baseadas na multiplicação do tamanho da RAM por algum fator, com valores comuns sendo 1,2, 1,5 e 2.

Se você deseja conhecer a verdade real do que está acontecendo no seu sistema, pare agora mesmo e leia toda a série de artigos de Mark sobre gerenciamento de memória do Windows. Ele é provavelmente a principal autoridade do mundo nesse tipo de coisa.

Eu mesmo defino o tamanho mínimo absoluto do arquivo de paginação nos meus sistemas Windows (apenas o suficiente para salvar um mini despejo) ou até mesmo desabilitá-lo completamente. Você nunca deseja atingir esse arquivo de paginação durante o uso normal do sistema. Se o fizer, é hora de comprar mais RAM ou fechar alguns aplicativos, você escolhe.

Considere a velocidade na RAM vs. SSD ou disco rígido quando correlacionada às escalas de tempo humanas. [Memória da classe de armazenamento: tecnologia, sistemas e aplicativos - Página 22]

  • Um acesso à RAM leva cerca de 60ns, equivale a 1 minuto em uma escala humana.
  • Um acesso SSD leva cerca de 50us, 800 vezes mais lento que a RAM, o que leva cerca de 14 horas em escala humana.
  • Um acesso rápido ao disco rígido leva 5ms, cerca de 83.000 vezes mais lento que a RAM, o que leva cerca de 60 dias em escala humana.

Deseja realmente que sua memória RAM seja embaralhada de maneira semi-aleatória para um dispositivo de armazenamento 1K vezes ou 100K vezes mais lento que a RAM, apenas porque você não tinha RAM suficiente?

Outro ponto que eu não vi ninguém mencionar é que o chip Intel HD Graphics 3000 usa "memória compartilhada". Na captura de tela que você mostra, ele pode consumir até 1,7 GB de sua RAM. Então, dê um beijo de despedida em cerca de 1 GB do total da sua memória RAM.

Ausmith1
fonte
cerca de 1GB? É mais do que 1,5 GB provavelmente mais (mais próximo de 2 GB) se você considerar que o sistema operacional vai reservar alguma memória para se comunicar com ele.
Ramhound
Os drivers da Intel devem se ajustar com base na resolução e profundidade de cores em que o usuário está dirigindo o sistema. Portanto, pelo menos 1 GB de RAM se esgotou imediatamente, mas sim, você está certo de que, dependendo das circunstâncias dos usuários, mais próximo de 2 GB podem ser usados ​​pelos drivers da Intel. E não é fácil ver esse uso de RAM "invisível" com as ferramentas internas do Windows.
Ausmith1
A razão pela qual eu disse 1.632GB é porque é isso que a captura de tela mostra, a menos que eu esteja usando literalmente o uso quando não é.
Ramhound #
Sim, naquele momento específico em que estava usando 1632 MB, poderia ser mais / menos em outros momentos. Desabilitar o vídeo Intel HD é provavelmente a solução mais simples para este sistema, supondo que o usuário esteja disposto a viver com as implicações de ter apenas a GPU Nvidia disponível, como mais uso da bateria. Parece um preço pequeno a pagar para recuperar 1,5 GB de RAM.
precisa saber é o seguinte
4
Esta resposta é um pouco enganadora. Você cita Mark Russinovich, mas na verdade não segue seus conselhos no artigo vinculado.
jcm
0

Seu BIOS e drivers estão bem, assim como sua memória física. Mexer com as configurações de hardware e BIOS não lhe proporcionará nada. O problema é seu arquivo de página ridiculamente pequeno. Ele deve ser do tamanho da memória física instalada, mas tem 512 MB, quase 1/16 desse tamanho. Para corrigir o problema, faça o seguinte:

Vá para Painel de controle / Sistema e Segurança / Sistema / Configurações avançadas do sistema.

Escolha a guia Avançado e clique no botão Configurações em Desempenho.

Escolha a aba avançada.

Memória virtual, clique em Alterar.

Marque a caixa "Gerenciar automaticamente o tamanho do arquivo de paginação para todas as unidades".

Agora clique em OK e reinicie conforme necessário.

Carey Gregory
fonte
O Windows quer usar 12 GB de arquivo de paginação e eu tenho 120 GB de SSD com atualmente 17,8 GB de espaço livre na unidade. Eu poderia tentar, mas acho que 12 GB de arquivo de paginação é demais para meu uso não agressivo.
Boris_yo
2
@Boris_yo Por que você não recebe um HDD padrão de 500 GB ou 1 TB para armazenar todas as coisas que não precisam ser instaladas no SSD? De qualquer forma, não é saudável o SSD estar quase cheio devido a como o TRIM funciona, e tenho certeza de que você pode mover o arquivo de paginação para outro local (como um HDD), conforme necessário.
Thomas
O que @Thomas disse. Seu SSD está sobrecarregado como está. Geralmente, é uma má idéia ter um SSD 80% cheio, e você sempre quer pelo menos 20 GB livres na unidade do sistema. 12 GB para um arquivo de paginação não deve ser um problema; portanto, você precisa descarregar pelo menos 20 GB para outra unidade ou apenas encontrar uma maneira de liberar tanto espaço.
Carey Gregory
Você não deveria estar paginando um SSD de qualquer maneira.
Daniel R Hicks
(Basicamente, o Windows não usará mais espaço para aplicativos que não há espaço arquivo página.)
Daniel R Hicks
0

O Windows 7 armazena em cache informações agressivamente. Isso foi em grande parte o que o fez ter um desempenho melhor que o Vista. Você ainda tem um monte de memória livre para usar se seus programas precisarem, é apenas que o Windows está tentando ser inteligente e adivinhe o que seu computador precisará ou acessará a seguir, para que ele pré-carregue (armazene em cache) as informações na RAM que obtém acessado muito. Como o Windows não precisa pesquisar essas informações no disco rígido, isso o torna mais rápido.

http://arstechnica.com/information-technology/2010/02/behind-the-windows-7-memory-usage-scaremongering/

David
fonte
-1

O mais simples é atualizar os drivers do computador, especialmente o BIOS e o chipset. Apenas pelo fato de o firefox estar tão alto, eu faria uma varredura profunda para ver se você está executando algum bots no sistema. Depois, eu desabilitaria plug-ins e complementos um a um no firefox para ver se reduz os sintomas. Certamente não faria mal fazer o que foi mencionado, pois deveria ser uma manutenção regular, mesmo que isso não resolva o seu problema.

Jules2U
fonte
1
O que você quer dizer com eu executando bots?
Boris_yo
Ele quer dizer Malware ou algo parecido.
Ausmith1