Por que a memória em standby reaproveitada é um sinal de pressão de memória?

0

Eu tenho assistido a um episódio anterior de ferramentas de desfragmentação, onde Andrew Richards explica o RAMMap ( link )

Às 24:45 ele menciona que as listas de espera de redirecionamento 5-7 indicam pressão de memória no sistema. Nos comentários deste programa, ele confirma isso para um usuário que tenha um novo laptop. Eu também vi Mysteries of Memory Management, de Mark Russinovich Revealed, para entender melhor isso.

O modo de espera é considerado como um cache (em instalações não SSD do Windows 7, o SuperFetch é ativado implicitamente, o qual usa as listas de espera 6 e 7 para carregar dados nas listas de espera para que eles fiquem prontos)

Andrew até mostrou um resumo de prioridade de sua máquina (25:50), que funcionava por semanas, e não tinha memória reaproveitada em 5-7.

Ao contrário desta afirmação, parece que o reaproveitamento 5 não é necessário, considerando-se um problema de pressão de memória. Algumas explicações de redirecionamento estão aqui:

Quais são os recursos "modificados" e regiões "standby" de RAM no Monitor de Recursos?

Aqui está uma tela da minha win 7 x64, com 16 GB de RAM, rodando por 1,5 dias, que tinha apenas o Firefox e a área de trabalho remota em execução.

6e7estãovazios,poisSuperFetchestádesativado.

Aquiestáumamáquinanossaquefezprocessamentodedados(basicamenteumaaplicaçãoestavarodando,mastigandodados)

Aqueles 800 gb reutilizados em 5 indicariam "uma pressão de memória" com base na explicação de Andrew.

Com base nesta afirmação, minha máquina local precisaria de muito mais do que os 16gb de memória RAM e o processador de dados precisaria de um "pouco" a mais. O processamento envolveu a gravação de muitos arquivos, colocando 128GB de memória RAM, o que provavelmente não ajudaria aqui, mesmo que os números reaproveitados digam o contrário.

Assim, a alta memória realocada na prioridade 5 indica uma pressão de memória real ou há mais métricas envolvidas para descartar outros problemas?

Eu pude escrever um pequeno programa, que é capaz de redirecionar a prioridade 5: Um loop for alocando 3/4 de ram e acessando-o em pelo menos dois threads. Mas esta é uma situação sintetizada como a minha máquina de cima não se sentiu como tinha pressão. Ele executou uma varredura de vírus naquele dia e o Firefox e a área de trabalho remota não estavam comendo minha memória RAM.

Fato óbvio: Se eu alocar 3/4 de RAM, usá-lo, liberá-lo, reatribuir novamente etc, não lista de espera é propostos novamente como liberá-lo vai para liberado, em seguida, para lista zerada. Eu não testei isso com mapeamentos de arquivos, que são muito mais fáceis de serem armazenados em cache como blocos arbitrários de memória.

    
por Samuel 06.01.2015 / 13:13

1 resposta

1

Na minha opinião, essa afirmação sobre a reaproveitamento de RAM em standby de prioridade-5 como sendo necessariamente um sinal de pressão de memória é exagerada.

Agora, é verdade que a prioridade 5 é o padrão para processos interativos, e você preferiria ver páginas de menor prioridade sendo redirecionadas do que a prioridade 5.

O que, no entanto, se simplesmente não é o suficiente? Neste sistema, no momento, eu tenho um total de 3,2 GB de prioridade 5 em espera e na prioridade 0-4, um total de talvez 130 MB! (SuperFetch está desligado, btw, desde que eu tenho um SSD para o meu disco de sistema operacional.)

Lembre-se também que esses contadores "reaproveitados" são cumulativos desde a inicialização. Meu sistema aqui está em funcionamento há quase um mês, desde 12 de março - chame isso de 27 dias, cerca de 2,3 milhões de segundos. Naquela época, aparentemente, reaproveitei cerca de 230 GB da lista de prioridades 5. Parece muito! Mas o reaproveitamento é feito uma página de cada vez; uma página tem 4096 bytes, o que representa apenas 56 milhões de páginas. Então, como uma média de longo prazo, tenho reaproveitado cerca de 24 prioridades-5 páginas por segundo. Um "reaproveitamento" leva algumas dezenas de ns, então eu acho que posso aguentar.

Como a maioria das RAM na maioria dos sistemas de desktop e laptop está sendo usada por processos interativos, e a maioria dos outros processos está fazendo muito pouco tempo, só faz sentido que os processos interativos vejam muito mais redirecionamentos do que os processos interativos. descansar.

Outro fator é que, embora os contadores "Repurposed" sejam cumulativos a partir do boot, os contadores "Standby" nessa tela mostram apenas os tamanhos no momento dessas sub-listas. Nós não sabemos quanta prioridade 4 de espera havia como uma média desde a inicialização, ou qual era o pico mais alto, ou qualquer tal detalhe. Sem essa informação, a significância do contador "reaproveitado" é bastante difícil de avaliar.

Em suma, acho que o comentário tem algum mérito (em que a redefinição da prioridade 5 em espera é menos desejável do que nos níveis mais baixos), mas um alto número de "reaproveitamento" na prioridade 5 não é necessariamente motivo para, e. correr e comprar mais RAM.

edit-added: Eu tenho alguns outros problemas com esse vídeo que coletivamente me levam a pensar que o entendimento do palestrante sobre esses assuntos é um tanto incompleto - ou talvez ele tenha falado sem pensar muito sobre isso. Acontece.

    
por 08.04.2018 / 22:33