Uso de memória alta do sistema do Windows 8

0

Meu problema parece simples. Meu computador está usando mais memória física do que realmente é contabilizado na soma dos meus programas.

(executando o Windows 8.1, os patches mais recentes)

Eu uso 7,5 GB. O uso total é de 12 GB. O Delta é de 4,5 GB. Isso é algo que eu consideraria muito alto.

A maioria das postagens que encontrei neste site estão relacionadas a vazamentos de memória de driver que afetam o 'pool paginado' e o 'pool não paginado', criando alto uso. No entanto, minhas páginas + pool não paginável é em torno de 650MB, o que eu entendo não está muito acima de 'normal', e não deve causar esse delta de 4,5GB. Para investigar melhor isso, eu até mesmo corri poolmon.exe e não encontrei nenhum driver com vazamento quando eu classifiquei por uso.

Então,minhaperguntaésimplesmente:oquedá?Ondevocêéamemória?

Atualização:

Umusuáriogentilmeencaminhouparaorammapdoprograma,quefornecedescriçõesmaisdetalhadasdaalocaçãodememória.Aoexecutá-lo,descobrique2GBdememórianaseção"em uso" foram alocados para "Arquivos mapeados", o que presumo ser o cache de disco. Ao ir para a guia 'páginas físicas' e classificar por esses arquivos, aprendi que muitos dos arquivos mapeados ativos eram arquivos em uso por um aplicativo torrent que hospedava grandes arquivos de dados. Terminar o aplicativo liberou 1,2 GB de cache de disco em 'espera', dando a captura de tela que você pode ver abaixo.

O 'delta' caiu para 3,2 GB, o que está se aproximando do que eu considero normal, mas ainda está no lado alto, mas se você subtrair o restante do 'arquivo mapeado' de 800MB, você terminará com 2.4GB, o que poderia ser simplesmente explicado pela contagem listada em Usuários no gerenciador de tarefas estando incorreta.

Com esta informação, agora não tenho tanta certeza. Isso é só eu não entendendo a contabilidade da memória? A seção 'compartilhável' na tabela é realmente usada pelos programas do usuário e não é contabilizada no espaço do usuário no gerenciador de tarefas? Se assim for, então este problema seria uma mistura de mim, sabendo que o cache de disco pode contar na memória 'In Use' / 'Active' e que a guia do usuário no gerenciador de tarefas é imprecisa.

    
por Claire Fey 21.04.2018 / 06:43

1 resposta

0

O Windows 8, como quase todos os sistemas operacionais modernos, faz de tudo para usar o máximo de memória possível. Por quê? Porque qualquer memória não usada é perdida para sempre.

Se um sistema tem 8GB de memória e usa apenas 7GB, não ganha nada. Não pode usar 9 GB depois. Ele simplesmente perdeu para sempre qualquer benefício que poderia ter ganho com aquele 1GB extra enquanto a memória estivesse livre.

Por exemplo, digamos que seu sistema tenha muita RAM livre e você execute algum programa. Quando o programa termina, o sistema tem duas opções. Ele poderia manter o programa (o arquivo executável real no disco) na memória ou poderia liberar a memória que continha o arquivo do programa.

Se liberar a memória, ela terá que se dar ao trabalho de liberá-la. Se alguma vez quiser usar essa memória novamente, terá que se dar ao trabalho de não liberá-la. E se esse programa for executado novamente, ele deve ser carregado do disco. Eixo triplo.

Se não libertar a memória, não terá que se dar ao trabalho de libertá-la. se quiser usar essa memória para algum outro propósito, não precisa se incomodar em desfazer isso, salvando um passo. E se o programa for executado novamente, ele não precisará ser carregado do disco. Vitória tripla E, claro, como nenhum processo está executando o programa atualmente, a memória não será associada a nenhum processo.

Então, o que acontece é que seu sistema tem memória livre suficiente para operar de maneira muito eficiente, onde não desperdiça esforço, tornando desnecessária a memória livre e, em seguida, não precisa desperdiçar esforço sem liberar memória para usá-la . Em vez disso, ele pode fazer a transição de forma eficiente da memória de um uso para outro e, se os dados dessa memória forem necessários, a E / S do disco poderá ser evitada.

É uma vitória ao redor. A memória está armazenando dados que o sistema espera que algum processo futuro possa achar útil, e também está evitando viagens estranhas através da lista de memória livre para liberar memória apenas para marcar novamente. Os sistemas operacionais modernos precisam manter uma quantidade muito pequena de memória livre, apenas o suficiente para lidar com situações de emergência (como falhas de página e solicitações de memória do código de interrupção), onde não é possível fazer a transição da memória de um uso para outro.

    
por 21.04.2018 / 08:11