Windows 8 64bit dizem pouca memória enquanto 4 + Gb livre

6

Eu tenho o Windows 8.1 64 bits, 8 GB de RAM.

Meu Gerenciador de Tarefas mostra 49% de memória RAM usada, mas ainda recebo mensagens como "O Windows está com pouca memória, recomendamos fechar o aplicativo". Ele sempre diz que sobre o aplicativo que não está atualmente ativo, mas usa mais memória do que outros processos (quando o Firefox está ativo, é o Firefox, caso contrário, é o Skype).

Então minha pergunta é: como configurar o limite ou como forçar o Windows não denunciar sobre pouca memória?

Nota: mesmo quando tem 70 +% livre ainda relata pouca memória. Número de aplicativos em execução não mede.

Nota 2: não acontece quando inicio uma nova aplicação. Parece que o Windows tem algum verificador de memória e aparece essa mensagem regularmente quando a troca é feita. Ele minimiza aplicativos ativos (jogos ou navegador) e mostra-me aquela mensagem estranha.

arheops
fonte
1
Mostra RAM usada ou memória usada (ou seja, qual é o tamanho do arquivo de paginação e quanta RAM você realmente tem?) Além disso, quanto espaço livre você tem?
soandos
Certo. Troca não utilizada, Free ram 1.6G, Cache 2.2G, Used 4.2G. Pergunta não é "onde minha memória RAM?". A pergunta é: "Por que separar meus jogos / apps dizendo que não há RAM, enquanto ele tem mais de 2 Gb?" E o que eu posso fazer com esse mau comportamento.
arheops
você desabilitou o arquivo de paginação?
magicandre1981
2
Leia a minha resposta, não existe tal limite. Isso é um mito. E ter um arquivo de paginação não significará mais I / O - na verdade, isso significará Menos E / S porque isso significa que a RAM pode ser usada de forma mais inteligente para manter páginas mais limpas e evitar mais E / S. (Se você pensar sobre isso racionalmente, isso não faz sentido de qualquer maneira. Para a mesma carga de trabalho, por que ter um arquivo de paginação Mais E / S Apenas dá ao SO mais opções, e o SO é inteligente .)
David Schwartz
1
@arheops Sinto fortemente que seu método de teste é impreciso ou você está interpretando mal os resultados. Por favor, coloque como uma edição para a pergunta como você determinou esta informação com detalhes suficientes para que possamos recriar o processo e confirmar seus resultados.
Scott Chamberlain

Respostas:

15

Você está com pouco virtual memória. Isso pode acontecer mesmo se você tiver bastante RAM livre.

É como não poder gastar dinheiro, mesmo que você tenha muitos cheques e muito dinheiro no banco. Você tem que ter dinheiro suficiente para cobrir os cheques que você já escreveu ou você não pode escrever mais sem correr o risco de catástrofe, caso todos os seus cheques sejam descontados de uma só vez.

Uma solução simples é ampliar o arquivo de paginação.

Um arquivo de paginação é como uma linha de crédito da qual o Windows pode pedir emprestado. Sabendo que pode pegar emprestado do arquivo de paginação, se todos os seus cheques forem descontados de uma só vez, ele pode continuar fazendo cheques. As chances são de que ele não irá realmente usar o arquivo de paginação, mas ele só precisa garantir que ele possa cumprir suas promessas.

Por exemplo, digamos que você tenha 4 GB de RAM. Quatro aplicativos são inicializados e informam ao SO que eles podem precisar de até 1 GB de RAM (uma reserva). O sistema operacional diz "bem" e todos os quatro aplicativos são iniciados. (Você preferiria não deixá-los correr ?!)

Digamos que eles estejam usando um total de 1 GB de RAM agora. Em seguida, outro aplicativo é iniciado e pede 1 GB. O que o sistema operacional pode fazer? Se ele diz sim a esse aplicativo, o que acontece no improvável evento de que todos os aplicativos usem repentinamente toda a memória solicitada? O sistema operacional não tem 5 GB disponíveis e não pode revogar as promessas já feitas.

Com um arquivo de paginação, é claro, ele pode simplesmente escrever páginas raramente usadas no disco e manter todas as suas promessas. Portanto, ele precisa do arquivo de paginação para permitir que outro aplicativo seja executado, mesmo que 3 GB seja gratuito.

Com um arquivo de paginação grande, o Windows pode permitir que os aplicativos sejam executados, desde que o conjunto de trabalho real possa caber na RAM. Sem um arquivo de paginação, o Windows não pode permitir que nenhum aplicativo seja executado, a menos que consiga ajustar tudo na RAM que possa possivelmente ser usado com base nos compromissos já feitos. Isso significa, por exemplo, que um simples mapeamento privado gravável de um arquivo de 1 GB faz com que todo o 1GB de RAM seja essencialmente desperdiçado porque o aplicativo pode gravar em cada byte desse arquivo, de modo que 1 GB de RAM só pode conter páginas seguras. descartado.

O Linux, a propósito, permite que o sistema operacional supercompra o backing store. A desvantagem disso é que ele pode precisar matar processos com força se o sistema operacional acabar fazendo promessas que não pode cumprir. É por isso que o Linux tem um " Assassino de OOM "e o Windows não. A maioria das máquinas Linux overcommit desativado de qualquer maneira.

David Schwartz
fonte
Linux permite definir Swappiness. Então eu preciso encontrar param semelhante para windows. Eu não posso concordar que 2 do aplicativo em execução solicitou 8 GB de RAM, realmente.
arheops
1
Swappiness é uma coisa um pouco diferente. Swappiness faz com que o sistema operacional use o arquivo de paginação mais agressivamente para tentar permitir que ele use mais RAM como um cache e menos para manter páginas sujas que raramente são acessadas. Ao contrário do Linux, eu não acho que o Windows realmente troca muito oportunisticamente quando não está sob pressão de memória física. (Embora eu não esteja tão familiarizado com o modo como o ajuste pode ter mudado no Windows 8 e 8.1)
David Schwartz
@arheops Observe os números de "Commit" em um sistema sem swap. A soma total da coluna Commit deve ser menor que o total de ram. As coisas que relatam "49% usado" geralmente relatam apenas o total do "Conjunto de trabalho particular", que não inclui alocações virtuais que normalmente seriam enviadas para o arquivo de troca. Por favor, dê-nos o total de "Memory - Commit Size" e compare esse número com o seu total de RAM. 2 aplicativos em execução têm 8 GB de conjunto de trabalho privado é muito estranho, mas 2 aplicativos em execução com 8GB de confirmação não é tão estranho.
Scott Chamberlain
OK. Em caso afirmativo, como ele pode executar outro aplicativo como photoshop (1 + Gb ram mais) sem problemas?
arheops
1
@arheops Ele pode executar aplicativos sem problemas porque ainda tem muitas páginas limpas que pode descartar. O sistema ficará mais lento e eventualmente falhará espetacularmente, já que o número de páginas sujas será uma fração cada vez maior do número total de páginas de RAM disponíveis, pois não há nada que o sistema possa fazer com páginas sujas anônimas, mas mantê-las na RAM. mesmo que eles não tenham sido acessados ​​em horas.
David Schwartz
2

O alerta de pouca memória pode ser desativado cortando o registro conforme descrito abaixo.

No entanto, como as modificações no registro podem desestabilizar o Windows, é melhor primeiro cuidar backups e criar um ponto de restauração do sistema para o qual você pode voltar em caso de problemas. Eu não tenho experiência pessoal com este hack.

Inicie o regedit e posicione-se nessa chave:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WDI\DiagnosticModules

Exportar (para backup) e, em seguida, exclua as seguintes subchaves:

{45DE1EA9-10BC-4f96-9B21-4B6B83DBF476}
{5EE64AFB-398D-4edb-AF71-3B830219ABF7}
{C0F51D84-11B9-4e74-B083-99F11BA2DB0A}

Agora reinicie.

Se você achar que não tem permissão para excluir essa chave do Registro, consulte o artigo
Tome posse de uma chave de registro no Windows 7 .

Você deve estar ciente do fato de que, se alguma vez você ficar sem memória sem avisar, O Windows pode falhar sem aviso prévio ou os programas podem se comportar de maneira estranha.

Além disso, este conselho funcionou para o Windows 7, mas nunca foi provado para o Windows 8.1.

fonte

harrymc
fonte