O conjunto de trabalho particular não é a totalidade da memória de um processo:
O tamanho virtual é a quantidade total de memória que um programa pode precisar executar. Muitos programas não usam toda a memória virtual alocada a eles, mas solicitam que eles tenham o suficiente para executar qualquer operação solicitada por eles. Ele também é usado para arquivos mapeados na memória e outras coisas que são mais fáceis de fazer como memória (espaços de memória compartilhada, IPC), mas não estritamente relacionados ao processo que solicita memória privada.
Para que isso funcione, o sistema operacional precisa:
- Forneça uma garantia para a memória de que ela estará disponível
- Recuse a solicitação de memória (na maioria das vezes, isso retornará no aplicativo falhando / desistindo)
Normalmente, o sistema alocará essa memória virtual não utilizada no arquivo de paginação e, em seguida, apenas as partes dela que são realmente usadas ocuparão a RAM física. No entanto, ao desabilitar seu arquivo de paginação, você está forçando o SO a usar a memória física para fornecer essas garantias. Isso significa que você vai acabar com muitas páginas de memória zeradas que não podem ser alocadas para outro processo.
Quando você tem um arquivo de paginação, um processo só precisa de algo entre a quantidade de Working Set
e Private Bytes
de memória física. Quando você desativa seu arquivo de paginação, o Windows deve alocar a quantidade total de Virtual Size
de memória ou recusar a solicitação de memória. (No Monitor de Recursos do Windows, essa é a coluna Commit
, porque o Windows está Compilando essa quantidade de memória virtual para o processo.