Medir o uso da memória RAM no Windows 10

2

Atualmente, estou escrevendo um relatório de um aplicativo e quero saber seu uso de memória. O Windows 10 tem um ótimo recurso que comprime a memória que não está no processo de trabalho, a fim de gerenciar mais e evitar a troca, aumentando assim o desempenho geral (acho que também existe no Linux).

O problema é que eu não sei se o Gerenciador de Tarefas do Windows 10 relata o uso total de memória para cada aplicativo como se eles estivessem descompactados ou mostrasse a parte descompactada enquanto o restante reside compactado no processo do sistema (que fica realmente pesado tempo, comprimindo muitos aplicativos).

    
por Gonzalo 27.03.2016 / 05:24

2 respostas

0

Medições de memória detalhadas podem ser feitas com o Windows Performance Toolkit . Aqui você pode rastrear chamadas VAlloc para ver alocações de memória em sua ferramenta.

Também RAMMAp pode ser usado para capturar um instantâneo do uso de memória do seu Windows.

Mas nenhuma das ferramentas pode detectar quantos dados são compactados. Talvez a Microsoft adicione isso na atualização do Windows 10 Redstone.

    
por 27.03.2016 / 09:17
0

A única memória que o Windows 10 compacta está no processo "Sistema". Os contadores do conjunto de trabalho que você vê para outros processos não refletem nenhuma compactação nem ocorreram. Portanto, você pode usar os contadores de conjuntos de trabalhos por processo como sempre fez.

A memória em um conjunto de trabalho de processo não pode ser compactada porque qualquer coisa no conjunto de trabalho do processo pode fazer referência sem incorrer em uma falha de página. Portanto, não haveria oportunidade para o gerenciador de memória descomprimi-lo. Código comum no processo seria referenciar (ou tentar executar!) Conteúdo da memória compactada, e isso simplesmente não funcionaria. Portanto, os contadores do conjunto de trabalho do processo ainda significam o que sempre significaram.

Quanto ao processo "system" ... A memória compactada é uma versão compactada de páginas de RAM que estavam na lista de páginas modificadas. As páginas são colocadas no MPL quando a pressão RAM requer que mais RAM seja disponibilizada. Estas são páginas cujos conteúdos foram modificados enquanto estão no conjunto de trabalho do processo, portanto, antes que possam ser disponibilizados para outro uso, seu conteúdo deve ser copiado para "armazenamento de backup" - para páginas de processo privado, normalmente é o arquivo de paginação.

Nas versões anteriores do Windows, elas seriam gravadas no arquivo de paginação e depois movidas da MPL para a lista de espera. De lá, eles poderiam ser reprovados no processo que os perdeu, ou então "reaproveitados" - usado como RAM "disponível" para alguma outra necessidade. A abordagem do Windows 10 é, em vez disso, compactar seu conteúdo e armazenar o material compactado no espaço de endereço particular do processo "system".

Não há aumento no uso de RAM em relação às versões anteriores. Na verdade, há uma diminuição. No passado, essas páginas estariam na lista de espera na forma original - não compactada. No Windows 10, eles estão no processo do sistema em formato compactado. Então eles ocupam menos espaço.

A desvantagem é que o processo que "perdeu" essas páginas não pode simplesmente criticar as páginas de volta ao seu conjunto de trabalho (pois elas podem ser da lista de páginas modificadas ou em espera) porque seu conteúdo deve ser descompactado antes de ser usado. A descompressão é tratada no caminho usual de resolução de falhas. No entanto, a descompressão leva muito menos tempo do que seria necessário para ler o material de um arquivo de paginação (mesmo em um SSD) em versões anteriores.

Em tempos de RAM escassa, essas páginas modificadas podem ser disponibilizadas para outro uso, escrevendo seus conteúdos para o arquivo de paginação, assim como nas versões anteriores. Mas, ao contrário das versões anteriores, no Windows 10, seu conteúdo já está compactado no momento em que isso acontece. Então, eles levam menos tempo para escrever e menos espaço no arquivo de paginação. Se mais tarde eles tiverem que ser lidos novamente no arquivo de paginação, eles demoram menos para ler simplesmente porque a compactação significa que há menos dados para ler.

    
por 28.03.2016 / 01:20