Você está com pouca memória virtual . Isso pode acontecer mesmo se você tiver bastante RAM livre.
É como não poder gastar dinheiro, mesmo que você tenha muitos cheques e muito dinheiro no banco. Você tem que ter dinheiro suficiente para cobrir os cheques que você já escreveu ou você não pode escrever mais sem arriscar uma catástrofe, caso todos os seus cheques sejam descontados de uma só vez.
Uma solução simples é ampliar o arquivo de paginação.
Um arquivo de paginação é como uma linha de crédito da qual o Windows pode pedir emprestado. Sabendo que ele pode pegar emprestado do arquivo de paginação, se todos os seus cheques forem descontados de uma só vez, ele pode continuar fazendo cheques. As probabilidades são de que ele não irá realmente usar o arquivo de paginação, mas ele só precisa dele para garantir que ele possa cumprir suas promessas.
Por exemplo, digamos que você tenha 4 GB de RAM. Quatro aplicativos são inicializados e informam ao sistema operacional que eles podem precisar de até 1 GB de RAM (uma reserva). O sistema operacional diz "bem" e todos os quatro aplicativos são iniciados. (Você preferiria não deixá-los correr?)
Digamos que eles estejam usando um total de 1 GB de RAM agora. Em seguida, outro aplicativo é iniciado e pede 1GB. O que o sistema operacional pode fazer? Se ele diz sim a esse aplicativo, o que acontece no improvável evento de que todos os aplicativos usem repentinamente toda a memória solicitada? O sistema operacional não tem 5 GB disponíveis e não pode revogar as promessas já feitas.
Com um arquivo de paginação, é claro, ele pode simplesmente escrever páginas raramente usadas no disco e manter todas as suas promessas. Portanto, ele precisa do arquivo de paginação para permitir que outro aplicativo seja executado, mesmo que 3 GB seja gratuito.
Com um arquivo de paginação grande, o Windows pode permitir que os aplicativos sejam executados, desde que o conjunto de trabalho real possa caber na RAM. Sem um arquivo de paginação, o Windows não pode permitir a execução de nenhum aplicativo, a menos que possa caber tudo na RAM que possa ser usado com base nos compromissos já feitos. Isso significa, por exemplo, que um simples mapeamento privado gravável de um arquivo de 1 GB faz com que todo 1 GB de RAM seja essencialmente desperdiçado porque o aplicativo pode gravar em cada byte desse arquivo, de modo que 1 GB de RAM pode conter apenas páginas seguras. descartado.
O Linux, a propósito, permite que o sistema operacional supercompra o armazenamento de apoio. A desvantagem disso é que pode ser necessário forçar a execução de processos se o SO acabar fazendo promessas que não pode cumprir. É por isso que o Linux tem um " OOM kiler " e o Windows não. A maioria das máquinas Linux tem supercomprometido desativada de qualquer maneira.