Bem, primeira coisa, antes de entrar em uma resposta mais detalhada. Na sua primeira captura de tela, seu pool não paginado (um tipo de uso de memória do kernel) é de 1,3 GB. Isso me parece extraordinariamente alto, especialmente por apenas 30 minutos após a inicialização. Acho que pude ver o NP Pool ficando tão alto depois de uma quantidade prolongada de uso ou com um programa que vazava como uma peneira. Por outro lado, meu pool de NP geralmente tem entre 100 e 200 megabytes e meu pool de paginação pode chegar a 400 ou 500 (e isso ocorre depois de meu sistema funcionar sem reinicialização por semanas).
Você pode ativar algumas colunas adicionais no Gerenciador de Tarefas clicando com o botão direito do mouse nos cabeçalhos das colunas e escolhendo selecionar colunas. Você deve adicionar Working Set (private)
, Working Set (shared)
, Commit
, e NP Pool
. Eu examinava todos os seus processos de todos os usuários e veria se algum deles tem um NP Pool com mais de 256 KB. Se você vir algum, especialmente qualquer um que seja consideravelmente mais alto, isso pode ser a fonte do problema, ou pelo menos parte dele.
Seu conjunto de trabalho total, a quantidade de memória física em uso por um processo, é a combinação dos conjuntos de trabalho privados e compartilhados (WS). Privado geralmente é maior para a maioria dos processos, no entanto, pode haver alguns que usam uma quantidade maior de WS compartilhados. Os dois normalmente devem somar ao total de WS. Confirmar é a quantidade do seu conjunto de trabalho que foi confirmada no armazenamento de backup (na maioria dos casos, o arquivo de paginação do Windows). Os aplicativos em segundo plano geralmente têm uma Confirmação maior que o WS, indicando que grande parte do pool paginável foi trocado de memória e em seu arquivo de paginação (o que é bastante normal para aplicativos de desktop minimizados e não utilizados por um tempo).
O pool não paginado é uma memória que não pode e nunca será trocada da memória física ... que é efetivamente seu uso mínimo permanente de memória física. A memória do NP Pool geralmente contém código de programa e seções críticas que devem estar na memória física para se comportar corretamente ou com segurança, pilhas especiais etc. Entre 60 processos, se todos eles tiverem 256KB de memória do NP Pool, seu uso mínimo absoluto de memória física seria em torno de 15.360 KB. Na maioria dos casos, um ou dois aplicativos podem ter um pool de 256 KB de NP, enquanto a maioria possui menos, geralmente consideravelmente menos (ou nenhum). É altamente improvável que o sistema pagine a totalidade de todos os processos definidos, portanto, nunca espere que o uso da memória seja tão baixo.
Finalmente, o objetivo de ter mais memória é evitar a necessidade de paginar os dados de e para o espaço de memória estendido (troca, arquivo de paginação) em um disco físico. A paginação é um processo que envolve mover blocos de memória física alocada, empurrar alguns para o disco e trazer outros para a memória física do disco. A paginação é, para mantê-lo simples, altamente indesejável. Não é "ruim" por si só, mas pode ser um empecilho real para o desempenho quando ocorre com muita frequência. O ponto final de aumentar a RAM física total em um sistema é permitir que mais processos mantenham mais sua confirmação na memória física (conjunto de trabalho maior). Consumir memória não é um problema e, quando mais processos de execução usam mais memória, o desempenho total do sistema e o desempenho do processo ativo geralmente são mais altos,
O Windows gerencia a memória para você e automaticamente pagina os dados para dentro e para fora da memória de e para o arquivo de página (swap) para você. Se você executar um processo que precisa de 9 GB de memória e seu sistema já estiver usando 4 GB (de 12 GB), o sistema descobrirá automaticamente quais processos não precisam de acesso imediato a todo o conjunto de trabalho e paginará alguns ou todos do pool paginável para trocar para liberar 1 GB extra. Se o seu grande processo eventualmente precisar de mais memória, o Windows reduzirá ainda mais o conjunto de trabalho de outros processos até que tenha espaço livre suficiente para alocar o bloco recém-solicitado. Seu grande processo pode eventualmente consumir toda a memória disponível, exceto o NP Pool e talvez alguma sobrecarga mínima adicional para a execução periódica de processos que não estão permitindo que o Windows libere mais do seu conjunto de trabalho (i. e eles têm falhas de página pendentes que o Windows trocaria de memória física, mas, como estão sendo solicitadas, não podem ser movidas.)
Se um processo precisar de mais memória do que é permitido acessar (processos de 32 bits geralmente podem acessar 2Gb e alguns pouco menos de 4Gb com técnicas aprimoradas, enquanto processos de 64 bits geralmente podem acessar cerca de 48Gb de memória, cada um), as janelas às vezes tentam virtualizar sua memória com espaço de troca. Se um aplicativo de 32 bits quiser usar seu espaço máximo permitido de 2 GB, mas apenas 1,2 GB estiverem disponíveis, o Windows reservará 2 GB completos no arquivo de paginação e moverá os próprios dados do processo para dentro e para fora do arquivo de paginação, conforme necessário. suporta o uso de memória do aplicativo. O uso total de "memória" nesse caso pode parecer maior que a memória física disponível, ao passar pelo Total Commit. A Confirmação total geralmente atinge o tamanho máximo do arquivo de paginação total, que quando gerenciado pelo sistema, geralmente é de 2 a 3 vezes a quantidade de memória física. No seu caso,
Um ponto final. Você disse em sua resposta que tinha 16 GB de RAM, enquanto o Gerenciador de Tarefas vê apenas 12 GB de RAM. Uma de duas coisas aqui. Seu sistema realmente tem apenas 12 GB de RAM ou um dos seus sticks não está sendo registrado corretamente. Se um bastão de memória ram (suponho 4x bastões de 4Gb), pode ser ruim, pode não estar totalmente encaixado corretamente na sua placa-mãe ou sua placa-mãe pode ter um problema de detecção de memória.
Para verificar se é o último, atualize o BIOS da placa-mãe para a versão mais recente. Eu tive um problema semelhante ... meus seis bastões de ram DDR3 de canal tripple (6x 2Gb) eram bons com base em testes individuais de cada um ... mas minha placa-mãe decidiu aleatoriamente não contar um ou dois deles de vez em quando, muitas vezes me deixando com apenas 8 GB de RAM. Uma atualização do BIOS corrigiu o problema e agora tenho acesso confiável a todos os 12 GB de memória.