Como Reduzir o Working Set do Windows 11 24H2 Usando PowerShell
🔍 WiseChecker

Como Reduzir o Working Set do Windows 11 24H2 Usando PowerShell

Solução rápida: Use (Get-Process -Name SomeApp).WorkingSet = 0 no PowerShell — isso pede ao Windows para reduzir o working set do processo nomeado, movendo páginas não utilizadas para standby. O wrapper .NET chama a mesma API EmptyWorkingSet usada pelo RAMMap. A pressão de memória no gerenciador revisado do Windows 11 24H2 se beneficia mais da redução do working set do que versões anteriores.

O Windows 11 24H2 vem com uma pilha revisada de compactação e priorização de memória. Em sistemas com 16 GB de RAM executando cargas pesadas (vários navegadores, VMs, IDEs), o working set de processos em segundo plano se acumula mais rápido do que o Windows consegue reduzir. O resultado é que a memória confirmada parece alta, mesmo que grande parte dela seja tecnicamente recuperável. Reduzir manualmente os working sets recupera memória standby imediatamente.

Sintoma: O Windows 11 24H2 confirma memória agressivamente para processos em segundo plano; você deseja reduzir manualmente os working sets.
Afeta: Windows 11 24H2 em sistemas com 8–16 GB de RAM executando cargas pesadas.
Tempo de correção: 5 minutos.

ADVERTISEMENT

O que significa “working set”

O working set de um processo é a RAM física atualmente alocada a ele — as páginas que o Windows mantém residentes porque o processo as usou recentemente. Quando um processo está ocioso, muitas dessas páginas não estão mais sendo acessadas, mas o Windows não as recuperou. Chamar EmptyWorkingSet instrui o Windows a reduzir o working set ao mínimo; as páginas ainda necessárias são trazidas de volta no próximo acesso (com um pequeno custo de latência único).

Isso não é mágica e não reduz a memória confirmada — se o processo precisar das páginas novamente, elas voltam. Mas para processos que realmente não precisam da maioria de suas páginas em cache (um navegador minimizado, um IDE em segundo plano), a redução recupera memória que outros aplicativos podem usar imediatamente.

Método 1: Reduzir um único processo

  1. Abra o PowerShell (não precisa de administrador para seus próprios processos).
  2. Identifique o processo:

    Get-Process -Name chrome | Select-Object Id, WorkingSet64

  3. Reduza seu working set:

    (Get-Process -Name chrome).WorkingSet = 0

  4. Verifique se a redução funcionou:

    Get-Process -Name chrome | Select-Object Id, WorkingSet64

    O valor WorkingSet64 deve ser muito menor do que antes.

O primeiro acesso a uma página reduzida a traz de volta ao working set, então o processo se comporta normalmente — apenas tem menos páginas em cache residentes.

ADVERTISEMENT

Método 2: Reduzir todos os processos ociosos em segundo plano via script

Para uma redução periódica em todo o sistema:

  1. Abra o Bloco de Notas e cole:

    $candidates = Get-Process | Where-Object { $_.WorkingSet64 -gt 100MB -and $_.Id -ne $PID }

    foreach ($p in $candidates) {

      try { $p.WorkingSet = 0 } catch { }

    }

  2. Salve como C:\Scripts\trim-memory.ps1.
  3. Abra o Agendador de Tarefas. Crie uma tarefa acionada a cada 2 horas que execute este script.
  4. Defina Executar com privilégios mais altos para que possa reduzir processos do sistema.
  5. Salve.

O script reduz qualquer processo que use mais de 100 MB. Após a execução, o valor “Em uso” do Gerenciador de Tarefas cai; o standby aumenta; a memória confirmada total permanece inalterada. Novos aplicativos podem alocar a partir do working set liberado sem esperar que o Windows recupere passivamente.

Método 3: Usar RAMMap para controle visual

Para reduções únicas com interface gráfica:

  1. Baixe o RAMMap de learn.microsoft.com/sysinternals/downloads/rammap (Sysinternals, gratuito).
  2. Execute como Administrador.
  3. Clique em Empty → Empty Working Sets no menu.
  4. Todos os processos têm seus working sets reduzidos de uma vez.
  5. Também útil: Empty Standby List (operação diferente; recupera páginas standby de volta para livres).

O RAMMap mostra uma visualização clara do estado da memória antes e depois. Útil para diagnosticar problemas de pressão de memória.

ADVERTISEMENT

Como verificar se a correção funcionou

  • Execute Get-Process | Sort-Object WorkingSet64 -Descending | Select-Object -First 10 | Format-Table Name, Id, WorkingSet64 — os working sets dos principais processos caíram.
  • Abra o Gerenciador de Tarefas → guia Desempenho → Memória. O valor Em uso fica menor após a redução.
  • A memória standby aumenta aproximadamente na quantidade que você reduziu.
  • Alterne para um aplicativo que foi reduzido — ele fica responsivo após um breve momento, enquanto as páginas são trazidas de volta.

Se nada disso funcionar

Se a redução não tiver efeito, você pode já ter working sets muito apertados — o gerenciador de memória do Windows 11 24H2 é mais agressivo que versões anteriores, então reduções manuais têm menos o que limpar. Para sistemas onde você está realmente com pressão de memória (memória confirmada excede a RAM física e o arquivo de paginação está crescendo), reduzir working sets não ajuda — você precisa fechar aplicativos ou adicionar RAM. Para sessões longas do PowerShell onde o próprio script de redução acumula working set, reinicie o script periodicamente via tarefa agendada em vez de executá-lo indefinidamente.

Conclusão: EmptyWorkingSet via PowerShell, RAMMap ou um script agendado recupera memória standby que o Windows mantém presa. Útil em sistemas com 8–16 GB sob carga; não é mágica. Para pressão real de memória, a resposta é mais RAM, não mais redução.

ADVERTISEMENT