Win 7 64bit uso de RAM raramente alto (7GB em modo inativo)

1

Eu tenho uma nova máquina com 128 GB de RAM e apenas o sistema operacional Win 7 de 64 bits instalado junto com os drivers de hardware relevantes, etc. Não há nenhum outro software instalado. Ele tem um Samsung 850 Pro EVO SSD como o disco rígido principal e dual GTX980 no SLI. Quando eu inicio o computador, ele está usando 7GB de memória RAM, deixando-me com apenas 121 GB disponíveis. Todas as minhas outras máquinas usam apenas cerca de 2-2.5gb de memória RAM em modo inativo.

Eu preciso desse RAM para processar conjuntos de dados grandes (120 GB) usando o software de fotogrametria e não para fazer com que outro software comece mais rápido (para o qual nenhum está instalado) ???? !!

Eu verifiquei todo o processo em execução no gerenciador de tarefas e ele não adiciona até 7 GB. simplesmente não pode haver 7 GB de software que precisam ser carregados na RAM. Como eu vejo o que está usando esse RAM e, mais importante, paro de usar o RAM?

Captura de tela adicionada de rammap - grande alocação agrupada não paginada. como me livrar disso

O Poolmon não mostra nada maior que 30 MB usando páginas não relacionadas a spool. Não há 5 GB de páginas não pertencentes ao pool pool. Presumo que não haja vazamento de memória.

Alguma outra ideia?

    
por scriffij 06.11.2015 / 02:26

1 resposta

3

Você tem um vazamento de memória causado por um driver. Observe o alto valor da memória do kernel não-paginada. No seu caso, isso é mais de 5,6 GB. Você pode usar poolmon para ver qual driver está causando o alto uso.

Instale o Windows WDK , execute o poolmon, classifique-o por meio de P após o tipo de pool, de modo que o non paged fique no topo e através de B após os bytes, para ver a tag que mais utiliza a memória. Execute o poolmon indo para a pasta onde o WDK está instalado, vá para Ferramentas (ou C: \ Arquivos de Programas (x86) \ Windows Kits \ 8.1 \ Ferramentas \ x64) e clique em poolmon.exe.

Agora veja qual pooltag usa a maior parte da memória, como mostrado aqui:

Agoraabraumpromptdocmdeexecuteocomandofindstr.Parafazerisso,abraopromptdocmdedigite"cd C: \ Windows \ System32 \ drivers" para ir para o diretório de drivers, sem aspas. Em seguida, digite findstr /s __ *.* , onde __ é a tag que você vê no poolmon.

Depois de fazer isso, veja qual driver usa essa tag:

Agora,váparaapastadedrivers(C:\Windows\System32\drivers)ecliquecomobotãodireitodomousenodriveremquestão(intmsd.sysnoexemplodeimagemacima).CliqueemPropriedades,váparaaguiadetalhesparaencontraronomedoproduto.Procureumaatualizaçãoparaesseproduto.

Sevocênãoencontrarumdriverparaopooltag,procurenopooltag.txtseatagforusadaporumdriverdoWindows.

Aqui,vocêprecisacapturarocrescimentodousodopoolcomo xperf . Primeiro, você precisa instalar o Windows Performance Toolkit . Em seguida, abra um prompt de cmd (cmd.exe) como admin e execute isto:

xperf -on BASE+Pool -stackwalk PoolAlloc+PoolFree -buffersize 2048 -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d C:\trace_pool_alloc.etl

Agora abra-o em WPA.exe , carregue os símbolos de depuração e procure a tag que você vi em poomon sob AIFO ( alocado insde liberado fora ) e gastar a pilha. Dos nomes das funções, você pode ter alguma ideia do que está acontecendo.

Nesteexemplo,ousodatagFILEvemdeumaferramentachamada locate32 , que verifica o HDD para criar seu índice de pesquisa.

    
por 06.11.2015 / 19:54