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.
Afeta: Windows 11 24H2 em sistemas com 8–16 GB de RAM executando cargas pesadas.
Tempo de correção: 5 minutos.
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
- Abra o PowerShell (não precisa de administrador para seus próprios processos).
- Identifique o processo:
Get-Process -Name chrome | Select-Object Id, WorkingSet64 - Reduza seu working set:
(Get-Process -Name chrome).WorkingSet = 0 - Verifique se a redução funcionou:
Get-Process -Name chrome | Select-Object Id, WorkingSet64O 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.
Método 2: Reduzir todos os processos ociosos em segundo plano via script
Para uma redução periódica em todo o sistema:
- 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 { }} - Salve como
C:\Scripts\trim-memory.ps1. - Abra o Agendador de Tarefas. Crie uma tarefa acionada a cada 2 horas que execute este script.
- Defina Executar com privilégios mais altos para que possa reduzir processos do sistema.
- 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:
- Baixe o RAMMap de
learn.microsoft.com/sysinternals/downloads/rammap(Sysinternals, gratuito). - Execute como Administrador.
- Clique em Empty → Empty Working Sets no menu.
- Todos os processos têm seus working sets reduzidos de uma vez.
- 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.
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.