Como lidar com a memória no windows 7?

0

Estou usando o windows 7 Pro para desenvolvimento relacionado ao SQL Server. E recebi uma exceção de falta de memória no Visual Studio 2010:

Microsoft Visual Studio is unable to load this document:
Exception of type 'System.OutOfMemoryException' was thrown.

E aqui está o status da memória:

Eu estimo que minha tarefa requer menos de 1 GB de memória. No entanto, ainda falhou. Eu não sei de onde vem o problema. Recebo alerta de pouca memória quando a memória usada atinge 4 GB. E aqui está mais detalhes

  • A memória virtual está desativada. (Anteriormente mais de 21GB usados)
  • Existem 3 chips de memória de 4 GB
por Mincong Huang 14.03.2016 / 10:50

1 resposta

3

O erro de falta de memória que você está recebendo não está fora da memória física, está fora da memória virtual suportada.

Você não pode desativar a memória virtual no Windows. O que você quer dizer é que você não tem um arquivo de paginação, o que significa que a única memória virtual que você tem é RAM, e isso provavelmente não é o suficiente.

Então ... você precisa de um arquivo de paginação. Não importa quanta memória RAM você tenha, você não pode fazer uso eficiente dessa RAM sem um arquivo de paginação. Há outras respostas por toda a Internet que explicam isso em detalhes. Aqui é um lugar onde eu expliquei isso.

O que está acontecendo é que, embora muita memória RAM seja gratuita, ela também é reservada. Por exemplo, digamos que peço ao sistema operacional para alocar 1GB para mim. Nenhuma RAM é necessária para essa alocação, porque ainda não armazenei nada. Mas sem um arquivo de paginação, 1 GB de RAM deve ser reservado porque eu já o aloquei.

Em um sistema moderno típico, muitas coisas reservam memória que acabam nunca usando. Um arquivo de paginação permite que o sistema operacional continue a permitir essas alocações, porque na chance de que tudo seja usado posteriormente, o sistema pode usar o arquivo de paginação para manter suas promessas.

Além disso, esta questão é quase idêntica.

    
por 14.03.2016 / 11:00