Há alguma desvantagem da opção “/ 3Gb” no boot.ini para Windows de 32 bits?

8

A Microsoft aconselha a usar o switch / 3Gb no Boot.ini para obter mais memória para um processo em execução no sistema de 32 bits.

Atualmente eu preciso de muita memória para o processo devenv (Visual Studio 2008) porque eu tenho uma solução complexa que tem muitos projetos e formulários e consome muitos recursos em tempo de design. / p>

Gostaria de perguntar, se alguém sabe, quais são os aspectos negativos da utilização da opção / 3Gb, existem circunstâncias em que não é recomendado usá-la.

    
por Bogdan_Ch 17.06.2009 / 17:19

7 respostas

11

Em uma máquina desktop, provavelmente não há problemas. O pool paginável do kernel é menor em uma máquina W2K3 / WXP com o conjunto de chaves / 3GB. Isso provavelmente não é um problema para uma máquina de desktop porque você não deve estar perto de esgotar seu pool paginado do kernel. Em um servidor, esgotar o pool paginado do kernel causará problemas, e é muito mais provável que você possa esgotá-lo.

Aqui estão alguns bons detalhes sobre as considerações de memória do kernel associadas ao switch / 3GB. Se você realmente quiser, você pode iniciar o depurador de kernel do NT e criar um perfil do seu sistema antes e depois da alteração com as informações contidas neste documento: link

    
por 17.06.2009 / 17:26
5

Você terá menos memória disponível para o seu kernel - o comutador ajusta a divisão do espaço de endereço do modo de kernel / modo de usuário, anteriormente de 2 GB para 2 GB, para 1 GB a 3 GB. Leia a postagem de Raymond Chen em / 3GB e os acompanhamentos antes de prosseguir .

    
por 17.06.2009 / 17:25
5

Antes de fazer qualquer alteração, você deve primeiro verificar se os processos que deseja executar estão vinculados ao sinalizador LARGEADDRESSAWARE. Com a bandeira, não haverá alterações em como o processo usa memória.

Você pode usar as ferramentas do SDK para isso:

dumpbin /headers exeName

Os cabeçalhos cuspidos devem incluir:

Application can handle large (>2GB) addresses

Eu fiz o check no devenv.exe e no VS2008 ele inclui o flag.

    
por 17.06.2009 / 17:44
4

Muitas desvantagens. Por padrão, o Windows alocará um pool de 4 GB de memória para cada processo, que é dividido em 50/50 entre os processos do modo kernel (comuns a todos os aplicativos) e os processos do modo de usuário (exclusivos para cada aplicativo) (explicação simplificada). Um aplicativo rodando no sistema, portanto, tem 2 GB de memória para jogar, enquanto o próprio sistema tem seus próprios 2 GB. Nota importante: este segundo 2GB é o mesmo 2GB para todos os aplicativos em execução no sistema.

A opção / 3GB ajusta a divisão para que o modo kernel receba 1 GB e o modo de usuário receba 3 GB.

Agora, considere os aplicativos que você está executando. Alguns deles exigirão mais espaço no modo kernel, alguns exigirão mais espaço no modo usuário. Como o pool de modo kernel é compartilhado, você pode ficar sem memória muito rapidamente se estiver executando aplicativos que colocam a memória do modo kernel sob pressão. Por outro lado, se seus aplicativos usarem muita memória no modo de usuário, a implementação do / 3GB fornecerá a eles o espaço necessário.

Portanto, é realmente importante a natureza dos aplicativos que você deseja executar. A regra de ouro é consultar o fornecedor do aplicativo e ler a documentação; em particular, se o fornecedor do aplicativo não tiver uma recomendação, você deve começar a suspeitar ... eles testaram o aplicativo corretamente ou não? Isso é uma coisa básica que todo fornecedor deveria saber.

Há uma discussão bastante boa sobre tudo isso aqui: link

No seu caso particular, acho que mudar para 64 bits e obter mais memória RAM será uma solução mais viável, já que / 3GB não vai te dar o que você quer (isso funciona no XP?)

    
por 17.06.2009 / 20:59
1

Nós o usamos em alguns sistemas que estavam executando aplicativos de processamento de imagens em muitas imagens grandes e nunca notamos nenhum problema. Em qualquer situação em que você precise de um Gig na memória de aplicativos, você provavelmente deixará o aplicativo rodar e não fará mais nada com o sistema, então provavelmente não haverá muito impacto.

    
por 17.06.2009 / 17:26
1

Eu já vi isso interferir nas placas de vídeo de maneiras estranhas. Mas qualquer driver pode se comportar mal com essa opção se não estiver escrito corretamente.

Às vezes, esses problemas podem ser resolvidos com a adição da opção / USERVA.

link - link
link
link

    
por 17.06.2009 / 17:46
1

Funciona apenas de forma confiável (exceto para depuração de drivers, etc.) em um sistema operacional de servidor corporativo para binários LARGEADDRESSAWARE.

devenv não é tão binário . SQL Server e Exchange são, por exemplo.

Você precisaria de um sistema operacional x64 bits e VS x64 editado: LARGEADDRESSAWARE é detectado em x64 para quebrar o limite de 2 GB.

    
por 17.06.2009 / 18:58