RamMap "Lista de espera vazia" acelera drasticamente o PC. Existe uma maneira melhor de fazer isso?


24

Muitas pessoas são instruídas sobre como o cache do gerenciador de memória do Windows funciona lendo os white papers da Microsoft etc. No entanto, existem relativamente poucos documentos que descrevem problemas de desempenho do mundo real (lentidão) relacionados a arquivos mapeados e listas de espera muito grandes / crescentes.

Eu tenho um PC Win7 64bit (8Gb RAM) que atua como servidor. Não consigo adicionar mais memória a ele. Ele possui vários sintonizadores de TV que gravam / gravam vários arquivos mpeg2 gigantescos simultâneos (de pelo menos 3-8 GB cada) em um HDD 24/7. Dependendo de quão ocupado meu PC está gravando programas de TV, após 1-3 dias, meu PC fica lento.

Ao apenas olhar para o Windows Task Manager, parece que não tenho muitos aplicativos grandes abertos; e abundância de "memória disponível". Mesmo se eu fechar todos os processos ativos, o PC continuará lento. No entanto, ao usar o RamMap, posso ver que esses arquivos mpeg2 grandes se tornam arquivos mapeados na lista de espera ativa; que com o tempo tornam meu PC muito lento. Se eu selecionar "Lista de espera vazia" no RamMap, meu PC imediatamente se torna extremamente sensível; como se eu apenas tivesse reiniciado. Não há mais nada que eu possa fazer para lidar com a lentidão. De fato, o PC nunca se recuperará dessa lentidão, a menos que eu esvazie a lista de espera ou reinicie.

Eu tenho um utilitário de linha de comando, EmptyStandbyList.exe, que achei que limpa silenciosamente a lista de espera, em vez de ter que fazer isso na GUI do RamMap. No entanto, infelizmente, ele também elimina itens menores na lista de espera que são muito úteis para fins de desempenho para permanecer na lista de espera.

Ao pesquisar no Google, encontrei outras pessoas que têm quase o mesmo problema exato que eu. No entanto, a maioria de suas perguntas fica sem resposta; sem explicação real para o porquê disso acontecer; e, não há maneira definitiva de corrigir o problema além da técnica "Lista em espera vazia".

Eu já vi menções a um utilitário / serviço da MS chamado "Dynamic Cache"; mas não tenho certeza se cura especificamente o que eu quero. Além disso, a versão Win7 / Win2008 R2 parece estar disponível apenas através do suporte da MS. Eu também vi alguns utilitários que definem os "limites mínimo / máximo de cache do NT"; mas eles parecem específicos de Conjuntos de trabalho para processos, não de listas de espera.

Espero que alguém que possa pensar fora da caixa possa pensar em uma cura mais elegante para mim, em vez de eu ter que usar brutalmente esvaziar regularmente a lista de espera inteira; e espero ter uma explicação definitiva para o sintoma que eu (e outras pessoas) estamos vendo. A razão pela qual mencionei "fora da caixa" é porque já existem muitas pessoas que gostam de recitar como os arquivos mapeados e as prioridades da lista de espera "devem" trabalhar no papel; o que não é muito útil para mim.


Sei que essa é uma postagem antiga e que essa sugestão pode ser difícil de testar, mas se algum dia você tiver a oportunidade, poderá tentar sua instalação com uma edição de servidor do Windows. Talvez haja ainda mais diferenças não documentadas em como o sistema operacional de um servidor lida com a memória que funcionaria em seu benefício.
Eu digo Restabelecer Monica

Respostas:


2

A lista de espera é o cache do Superfetch e o "cache dinâmico" corrige um problema diferente. O serviço corrige um problema em que o cache de metadados do NTFS é muito alto. Mas Stadnbylist e este cache são duas coisas diferentes. O cache NTFS é mostrado como memória usada, enquanto o cache em espera contém dados, mas pode ser esvaziado muito rapidamente se você realmente tiver uma memória nova para armazenar dados nela.

No fórum sysinternals, o usuário wj32, autor do Process Hacker, criou uma ferramenta de linha de comando que faz o que você deseja:

http://forum.sysinternals.com/rammap-empty-standby-list_topic27297_post132769.html#132769

Experimente se "corrigir" o seu problema.


5
Essa ferramenta de linha de comando não é exatamente o mesmo EmptyStandbyList.exe que o OP mencionou em seu post e para o qual ele deseja uma alternativa melhor, talvez mais focada?
quer

2
Você leu a linha que começa com "No entanto, infelizmente ...", e o fato de ele querer "uma cura mais graciosa"?
quer

4
É bom conhecer pessoas que reservam um tempo para ler o OP com mais cuidado antes de postar. No entanto, aprendi algumas coisas que não sabia antes. Parece que o que realmente está causando o problema de desempenho está relacionado ao cache do Superfetch; não cache de metadados NTFS. O RamMap mostra ambos. Sei que, no Windows Vista, tive que desativar completamente o serviço Superfetch porque ele não sabia como lidar com gravações de TV (do meu aplicativo DVR); e estava causando o uso excessivo do meu disco rígido. Atualmente, tenho o serviço de super busca do Win7 para aprimorar a inicialização e os aplicativos que uso na memória.
user22667

2
Estou usando um SSD para minha partição de inicialização; que tem apenas 256 GB de tamanho. Estou curioso para saber se existem configurações no superfetch que resolveriam esse problema; como suprimir certos tipos de arquivos da super busca? Espero que alguém que saiba como tudo isso funcione explique por que isso está acontecendo e ofereça uma correção melhor do que a minha.
user22667

3
esvaziando a lista de espera sem alterar as configurações de proporção / limite do gerenciador de memória, simplesmente solicita que o Windows comece a encher a memória agora livre. Isso também elimina as coisas úteis reais que estão na lista de espera e essas duas coisas reduzem a velocidade da sua máquina do que ela é capaz de fazer.
precisa saber é o seguinte

1

Será que a lentidão vem do Windows forçando o carregamento / gravação de coisas da unidade Swap, que a cada vídeo gravado, a lista de espera cresce e com uma grande unidade Swap outros programas (em segundo plano) agora são enviados para a unidade Swap, desacelerando a máquina.

Se este PC for usado apenas para gravar programas de TV, talvez uma solução seja tornar a unidade Swap tão pequena quanto o Windows permitir que seja configurada, o que, acredito, 16 MB. Não desligue totalmente a unidade Swap, porque o Windows fará uma unidade Swap em segredo.

De alguma forma, não consigo imaginar que o Windows fique lento, se apenas estiver lendo dados da RAM, enquanto nenhum novo programa for carregado do Disco.

Qoute do documento da Microsoft http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/MemorySizingGuidanceWin7.docx :

"O Windows 7 SuperFetch ™ trabalha com o gerenciador de memória para definir prioridades para as páginas da lista de espera. As páginas recentemente colocadas na lista de espera começam com uma alta prioridade, que diminui lentamente com o tempo.

Se o sistema tiver pouca memória para lidar com a carga de trabalho, apenas uma pequena porcentagem das páginas da lista Em espera terá uma prioridade baixa. Ao monitorar o número de páginas em diferentes prioridades, você pode determinar se o sistema se beneficiaria do aumento da quantidade de RAM instalada. "

No geral, o objetivo é garantir que o sistema possa manter na memória as páginas recentemente referenciadas e ainda ter memória disponível suficiente para satisfazer quaisquer necessidades imediatas de memória ".

Talvez também o programa de gravação de TV, uma vez que continua funcionando e não para, tenha todas as páginas da lista de espera marcadas como prioridade mais alta, liberando outras coisas, o que normalmente aceleraria o Windows. Você poderia pensar que essas coisas são liberadas quando a memória fica baixa e / ou quando não há um arquivo Swap que o Windows não possa secretamente começar a usar intensamente a unidade Swap, tornando as coisas mais lentas. Isso pressupõe que os dados da Lista de espera não serão carregados na unidade Swap.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.