Como faço com que o aviso de pouca memória do Windows seja menos sensível?

7

Eu continuo recebendo este alerta / aviso de pouca memória irritante para fechar os jogos que eu jogo. Acontece com muita frequência e ainda tenho ~ 6 gigs de ram free. Eu desabilitei a memória virtual porque ela estava colocando coisas no arquivo de paginação quando eu tinha 10 GB de RAM livre, o que aumentou meu uso de disco.

Existe alguma maneira de desativar este aviso? Eu tenho 16 GB de RAM por isso não deve ser um problema. Eu preferiria manter os arquivos de paginação porque meu HD é muito alto, então é bom mantê-lo girando o máximo possível.

Eu não quero desativá-lo completamente. Idealmente, eu gostaria que saísse quando eu tivesse 2GB restantes, em vez de 6, mas se isso não for viável, eu posso desativá-lo completamente.

    
por Stephen Smith 21.04.2013 / 05:03

3 respostas

5

Para resumir a resposta de Scott, você está recebendo um aviso de pouca memória porque, na verdade, o sistema está ficando com pouca memória disponível devido à falta de memória virtual para absorver grandes solicitações de memória. Às vezes, os programas podem alocar grandes blocos de memória, sem usar todos de uma vez.

Provavelmente não há como desabilitar esse aviso, pois ele é incorporado ao Windows. Eu não descartaria a possibilidade de haver algum tipo de registro em torno dele, no entanto.

Editar: Esta resposta pode ser útil.

    
por 08.01.2014 / 00:33
3

Não desabilite o arquivo de paginação. Defina para um mínimo de 1024 e um máximo de 2048MB e você não receberá essa mensagem novamente.

    
por 21.04.2013 / 07:59
2

O Windows permite que os programas solicitem que a memória (Virtual Address Space) seja alocada para eles, mesmo que não planejem fazer nada com a memória. Isso permite que o programa use a memória em um momento posterior e não precise gastar o tempo extra durante uma parte crítica do tempo para verificar se está disponível para uso.

O Windows não irá comprometer a memória, então diga que você tem 10MB de RAM e um programa pede 5MB (mas usa apenas 2MB dele) e um segundo programa pede 6MB. O Windows negará o pedido para o segundo programa porque não pode garantir se ambos os programas desejavam usar seus lotes completos que a memória estaria disponível para eles.

Se permitisse que os pedidos fossem feitos para alocar sem espaço suficiente disponível, você precisaria travar o programa que tenta gravar na memória que não tem espaço para ou forçar o término de outro programa para liberar espaço. (O Linux permite a supercomprometimento de memória se você quiser permitir isso via /proc/sys/vm/overcommit_memory e segue a abordagem " forçar o término de outro programa " quando encontra uma gravação de memória não pode ser preenchida)

Quando você tem um arquivo de paginação e um programa pede 5MB (mas usa apenas 2MB dele) ele coloca aqueles 2MB de memória que ele está realmente usando para ram e os outros 3MB são alocados no arquivo de paginação. Porque é apenas uma "alocação" e nada foi escrito ou lido a partir dele, ainda que nenhum IO tenha sido executado e a velocidade da unidade não importe. Agora, quando esse segundo programa aparecer e pedir 6MB, ainda há muito espaço disponível para que ele atenda ao pedido.

Agora, para a sua situação. Primeiro de tudo, quando você vai verificar o quanto o ram está sendo usado, você está verificando "Working Set" ou "Commit Size". "Conjunto de trabalho" que seria que "usa apenas 2MB" vimos no exemplo anterior, "Tamanho da confirmação" seriam os "5MB" solicitados acima.

Quando você não tem um arquivo de paginação, sua soma total de "Compromisso Tamanho" deve ser menor que o total de RAM no sistema, para sistemas com arquivos de paginação sua soma total de Tamanho de Confirmação pode ser até o total de RAM em seu sistema + o arquivo de paginação tamanho.

Eu não sei se quando você foi verificar o RAM disponível se o gerenciador de tarefas exibe o total de "Working Set" ou se vai mudar para o total de "Commit Size" quando você não tem um arquivo de paginação , você pode estar muito mais perto do seu limite do que você pensa.

Um programa de 32 bits pode alocar até 2 GB de espaço de endereço virtual e um programa de 64 bits pode alocar até 7 TB para si mesmo . Assim, qualquer programa que você abra pode rapidamente ocupar grandes partes do espaço de endereços, sendo que o Windows foi projetado e foi ajustado ao longo de muitos anos para trabalhar com um arquivo de página. capacidade é muito razoável.

Eu sei que muitas pessoas assumem que obterão melhor desempenho sem um arquivo de paginação, e isso era verdade na era do Windows 98, mas muitas coisas mudaram e o gerenciamento de memória está muito melhor agora. Você afirma em sua pergunta que você desativou o arquivo de paginação devido ao alto uso do disco, como você mediu o uso do disco e como você sabe que ele estava indo para o arquivo de paginação? Se você está obtendo quantidades muito grandes de IO quando ainda tem um monte de RAM livre que pode ser um indicador de um problema diferente que poderemos ajudar a resolver.

    
por 07.01.2014 / 23:52