Bytes confirmados e limite de confirmação - estatísticas de memória

0

Estou tentando entender a diferença real entre os bytes comprometidos e o limite de confirmação. Das definições abaixo,

Commit Limit é a quantidade de memória virtual que pode ser confirmada sem ter que estender o (s) arquivo (s) de paginação. É medido em bytes. A memória confirmada é a memória física que possui espaço reservado nos arquivos de paginação de disco.

Bytes confirmados é a quantidade de memória virtual confirmada, em bytes.

De minhas configurações de computador, vejo que minha memória física é 1991 MB, memória virtual (arquivo de paginação total para todos os arquivos) é 1991 MB e mínimo permitido é 16 MB, recomendado é 2986 MB e atualmente alocado é 1991 MB. / p>

Mas quando eu abro meu perfmon e monitoro Bytes Comprometidos e Limite de Commit, os números diferem muito. Então, o que exatamente são esses Bytes Comprometidos e o Limite de Confirmação e como eles são formados.

Neste momento, no meu perfmon, o Commited Bytes está sendo executado em 3041 MB (Às vezes, também é para 4000 MB), Commit Limit é 4177 MB. Então, como eles são calculados. Por favor, explique. Eu li muitos documentos, mas não entendi como isso funciona.

Por favor ajude. Obrigado.

    
por user723616 30.04.2017 / 17:10

1 resposta

2

O limite de confirmação é o tamanho da RAM (RAM não livre, RAM total utilizável pelo sistema operacional) mais o tamanho atual do arquivo de paginação.

Esta é a quantidade máxima de memória virtual "privada confirmada" que pode existir em seu sistema. Resumidamente, memória virtual "privada comprometida" é memória virtual para o qual o arquivo de paginação é o "armazenamento de backup". O que significa que, se tudo não pode ser mantido na memória RAM, o que não pode ser mantido na RAM deve estar no arquivo de paginação, porque não há outro lugar para isso.

Bytes confirmados, também conhecidos como "commit charge", são, em sua maioria, o total de todas as memórias dedicadas privadas alocadas atualmente, além das alocações não pagas mencionadas no próximo parágrafo.

Outros tipos de memória virtual são suportados por outros arquivos (arquivos mapeados) - ou seja, eles vêm com seu próprio armazenamento de backup, portanto eles não contribuem para confirmar a cobrança - ou devem permanecer na RAM a todo momento (exemplos: pool; alocações AWE). Estes contribuem para cometer carga.

No PerfMon, o contador "Bytes privados" de cada processo é sua alocação de "bytes comprometidos". ou seja, sua contribuição para o "encargo de compromisso" em todo o sistema. O pool paginado é contado como "bytes confirmados" também - deve estar na RAM ou no arquivo de paginação. O pool não paginado, alocações AWE e outros itens não pagináveis também são contados como "bytes confirmados" (apesar de nunca irem ao arquivo de paginação), de modo que a quantidade de "limite de confirmação" restante seja contada corretamente. Esses são os principais contribuidores para "bytes comprometidos".

Ficar sem limite de confirmação é o motivo pelo qual você vê mensagens "o sistema está com pouca memória" ou "o sistema está sem memória". (Eles não são sobre RAM livre!) No primeiro caso, o sistema operacional expandiu seu arquivo de paginação - aumentando assim o limite de commit - para dar espaço para as novas alocações. Neste último, já é feito o possível (dentro das configurações atuais do seu arquivo de paginação) e alguém ainda quer mais.

Para mais, veja algumas outras respostas: a "analogia do banco" , um muito longo e outro .

    
por 01.05.2017 / 18:35