A carga de confirmação está 100% cheia, mas a memória física é de apenas 60% ao não usar nenhum arquivo de paginação

21

Desativei o arquivo de paginação em meu sistema (o disco rígido é muito lento, não consigo comprar um novo imediatamente, não consigo mover o arquivo de paginação para outra partição). Quando vejo no Monitor de Recursos, usando aplicativos que exigem memória, o sistema mostra que a carga de confirmação está quase 100% cheia. De fato, se eu continuar exigindo mais memória, os programas começarão a falhar à medida que a carga efetiva atingir 100%.

Enquanto isso, o sistema diz que estou usando apenas 50-60% de memória física e tenho cerca de 1 GB de memória disponível (livre + em espera).

Se commit charge é a memória total realmente solicitada, por que o sistema diz que muita memória é gratuita? A memória física não está sendo usada pelo Windows? O gráfico de memória está errado? Estou faltando alguma coisa?

    
por Jason Oviedo 03.10.2012 / 01:53

3 respostas

19

Nem o limite de confirmação nem a taxa de confirmação estão relacionados à RAM livre ou disponível.

O limite de confirmação = tamanho atual do arquivo de paginação + tamanho da RAM - RAM permanentemente alocada para memória não paginável.

Como você não possui um arquivo de paginação, o limite de confirmação é menor do que seria se você tivesse um arquivo de paginação. Não importa o quanto da RAM é livre . Para o limite de confirmação, somente a RAM instalada é importante. Você pode ficar sem limite de confirmação mesmo com 90% de sua RAM livre ou disponível.

Taxa de confirmação é uma contagem de memória virtual, não física. Suponha que o meu programa VirtualAlloc de 2 GB esteja comprometido, mas depois eu só acesso a 0,5 GB dele. O restante de 1,5 GB nunca recebe falhas, nunca é atribuído à RAM, portanto, o uso da RAM não reflete os 2 GB, apenas 0,5 GB.

Ainda assim, "commit do sistema" é aumentado em 2 GB porque o sistema "confirmou" que haverá um lugar para manter meus 2 GB, se eu realmente precisar de tudo isso. O fato de que em qualquer execução do programa eu provavelmente não vou tentar usar tudo isso não ajuda. Eu pedi 2 GB e o sistema operacional "comprometido" - pense sobre essa palavra - que eu posso usar tanto quanto v.a.s.

Veja também minhas respostas aqui (mais) e aqui (muito mais tempo).

p.s. Coloque seu arquivo de paginação de volta, adicione mais memória RAM ou execute menos coisas ao mesmo tempo. Como seu pool não paginado não é excessivo, essas são suas únicas opções para aumentar seu limite de confirmação.

    
por 23.07.2014 / 02:35
4

Como o teste de alocação de memória no artigo, no link O Windows é um tipo de sistema que falharia com uma grande alocação de memória se tal alocação, junto com todas as alocações anteriores (o conceito que a Microsoft chama de "commit"), trouxesse o total de "commit" acima da soma dos dois memória e a soma de todos os arquivos de páginas (swap).

Considere que uma alocação por si só não usa nenhuma memória real (nem física nem swap), antes de uma leitura ou gravação ocorrer dentro do espaço de endereço virtual do processo para a alocação acima mencionada . Por exemplo. uma alocação de 2GB por si só afetaria apenas os números "Commit" (no Windows 7 talk), deixando apenas "Memória Física" (até que a leitura / gravação dentro da alocação referida ocorra).

No que diz respeito ao design do SO, a abordagem alternativa seria sempre permitir a alocação de qualquer tamanho (a menos que a memória disponível já esteja completamente esgotada) e, em seguida, deixar os aplicativos falharem na leitura / gravação. Consulte o link para obter mais detalhes.

    
por 22.05.2015 / 19:52
2

A memória disponível não é o que você acha que seria. Não é utilizado realmente um cache de arquivos de processos recentemente encerrados ou processos aparados que foram forçados a desistir de alguma memória para outros processos. Eles poderiam ser chamados de volta para o propósito original. veja para mais detalhes.

link

Como não ter um arquivo de paginação, isso é muito ruim. O Windows degradaM mal sem um. Lembre-se, até mesmo arquivos executáveis são usados como arquivos de troca quando não há arquivo de paginação. Mesmo se a unidade estiver lenta, é melhor ter um arquivo de paginação até que você tenha de 8 a 16 GB de memória. Algumas pessoas pensam que mesmo o Windows 7 pode ser executado sem um então.

Eu costumo dar um impulso à velha máquina fazendo algumas coisas. Limpe o disco rígido, tanto quanto possível. Copie qualquer coisa que você possa remover temporariamente da unidade para um backup. Remova os aplicativos que você não precisa. Remover apps pode reinstalar.

Quando tudo isso for feito, desfragmente seu disco rígido. Nesse ponto, recriar seu arquivo de página. Será o mais próximo da frente da unidade quanto possível. Crie um tamanho fixo cerca de 1,5 vezes a memória. Essa é a minha regra, geralmente eu tenho visto tamanhos entre 1 e 3 de memória de tempo. Isso dará um leve aumento na velocidade em relação aos lugares habituais em que seria colocado.

Eu uso o defragager auslogic de graça (anúncios para mais ferramentas). Há outros que fazem isso também. Confira os defragers em portableapps.com. Ele otimiza o disco colocando arquivos acessados recentemente perto da frente da unidade para acesso mais rápido. Ele mostra onde o arquivo de paginação é colocado para que você possa ver se você o moveu para os 25% superiores da unidade.

Depois disso, reinstale os aplicativos e copie seus dados.

Eu diria que você recebe um aumento de 10 ou 20%. Mas o principal valor é que muita hesitação vai embora para uma experiência mais suave.

    
por 11.10.2012 / 00:36