Trabalhar com arquivos grandes - evitando erros de falta de memória?

0

Estou no Windows 7 Professional x86.

Estou trabalhando com alguns arquivos proprietários que são relativamente grandes em tamanho (~ 900 MB compactados, 1,5 GB não compactados).

Este programa também é proprietário e o único que funcionará com o formato de arquivo que estou tentando usar, por isso não posso realmente escolher mais nada. É uma aplicação .NET, se isso faz alguma diferença.

Agora aqui está o problema: a maneira como o programa funciona é muito ruim. Ele carrega o arquivo compactado e mantém um controle sobre ele. Em seguida, descompacta e mantém isso na memória do aplicativo. Então, se eu quiser salvar as alterações que fiz, tenho que salvar uma nova cópia do arquivo, o que exige compactá-lo e salvá-lo no disco.

Salvar o arquivo é o problema aqui - basicamente, tenho um aplicativo tentando armazenar 3 ou 4 cópias desse humungous arquivo de 1,5 GB na memória e apenas 4 GB de RAM no meu sistema. Como resultado, ele falha em cerca de 1/4 do processo de salvar com a exceção System Out of Memory.

  • Aumentar o tamanho do arquivo de página não mudou nada, embora eu admita que não estou muito interessado em como os arquivos de paginação funcionam.
  • Eu não tenho acesso a nenhuma máquina com mais RAM para executar a operação.
  • Estou em um laptop (que será substituído nos próximos meses), então não quero comprar / instalar mais RAM.
  • Eu realmente não quero reformatar para x64, e não tenho certeza se isso ajudaria qualquer coisa, pois só tenho 4 GB de RAM.

A velocidade não é um problema aqui; Eu só quero que a coisa tenha memória suficiente para completar com sucesso.

Note que não tenho ideia do que realmente é o problema. Eu não sei se é porque eu não tenho RAM suficiente, ou porque o Windows apenas dá aos aplicativos uma quantidade limitada de memória, ou porque meu arquivo de página é muito pequeno ou qualquer coisa.

Alguém tem alguma idéia sobre qual é o problema e como posso aliviá-lo?

    
por Corey 14.02.2012 / 02:56

1 resposta

1

O problema é que, a menos que o programa solicite mais memória, o Windows só terá 2 GB de memória para tocar. Este problema pode ser "consertado" ao tornar o endereço grande do aplicativo ciente, mas isso é melhor feito através da recompilação do arquivo (É possível alterar o cabeçalho diretamente, mas seria uma idéia terrível, e provavelmente não vai funcionar).

Se você não conhece o programador / s que pode consertar isso, não há nada que você possa fazer, desculpe.

    
por 14.02.2012 / 03:04