Fórum MemoryStream tamanho maximo. #391158

24/11/2010

0

Srs, Boa Tarde! 

um MemoryStream possui um tamanho máximo de alocação??? 
se possui como esse tamanho é calculado?! 
de acordo com a memória do sistema?!?!? 

Esta ocorrendo o erro: 
Out of memory while expanding memory stream 
na minha aplicação! 

Percebi que o erro aparece quando tento alocar um espaço muito grande no MemoryStream, e daí surgem minhas duvidas anteriores!! 

Obrigado!
 
Ssa

Ssa

Responder

Posts

24/11/2010

Leonardo Xavier

o MemoryStream é determinado de acordo com a capacidade de RAM que você tem disponivel em seu computador, tirando processos do sistema operacional e outros sub-sistemas que sao carregados juntamente com o windows. Mas você nao precisa saber o tamanho máximo de alocação da MemoryStream mas com toda certeza você deveria verificar em seu computador qual o tamanho de sua memória virtual, que geralmente por defaut é limitada(os sistema pré define esta alocação), minha sugestão é você tentar mudar a questao da memória virtual, colocar para ser gerenciada pelo sistema. Faça este teste e poste aqui. Abraços
Responder

Gostei + 0

24/11/2010

Ssa


o MemoryStream é determinado de acordo com a capacidade de RAM que você tem disponivel em seu computador, tirando processos do sistema operacional e outros sub-sistemas que sao carregados juntamente com o windows. Mas você nao precisa saber o tamanho máximo de alocação da MemoryStream mas com toda certeza você deveria verificar em seu computador qual o tamanho de sua memória virtual, que geralmente por defaut é limitada(os sistema pré define esta alocação), minha sugestão é você tentar mudar a questao da memória virtual, colocar para ser gerenciada pelo sistema. Faça este teste e poste aqui. Abraços
 
 

Valeu pela resposta Leonardo,
Assim que eu conseguir, vou fazer este teste!
Mas saindo da questão da capacidade máxima do MemoryStream.O que poderia estar causando o erro Out of memory while expanding memory stream na minha aplicação??
Eu sei que ela trabalha com uma serie de MemoryStream instanciados pela aplicação, mas as mensagens que trafegam por eles são pequenas, em geral 40 bytes.
muito longe de um estouro do MemoryStream certo?!
Que outra situação pode ocasionar esse erro?
Valeu.
Att,

Responder

Gostei + 0

24/11/2010

Leonardo Xavier

Geralmente os erros de MemoryStream são relacionados ao buffer utilizado, isso pode ocorrer por vários motivos, o principal deles é o sistema oprecional estar utilizando quase todo o buffer de sua meória, no tempo de execução de seu sistema, mas isso é muito raro acontecer, a menos que você tenha menos de 1GB de memória e esteja utilizando windows XP, com vários aplicativos carregados na RAM. Embora isso seja dificil de acontecer é raro erros por este tipo de processos. Ou talvez sua aplycação esteja alocando mais de um valor em uma unica parte do MemoryStream, o que poderia ocasionar um conflito interno pois o ssitema informaria vários endereços de buffer para seu sistema o que poderia ocorrer um erro. Faça o que lhe sugeri com relaçao a memória virtual e verifique o comportamento de sua aplicação. Ficamos no aguardo.
Responder

Gostei + 0

24/07/2014

Andrew Vargas

Geralmente os erros de MemoryStream são relacionados ao buffer utilizado, isso pode ocorrer por vários motivos, o principal deles é o sistema oprecional estar utilizando quase todo o buffer de sua meória, no tempo de execução de seu sistema, mas isso é muito raro acontecer, a menos que você tenha menos de 1GB de memória e esteja utilizando windows XP, com vários aplicativos carregados na RAM. Embora isso seja dificil de acontecer é raro erros por este tipo de processos. Ou talvez sua aplycação esteja alocando mais de um valor em uma unica parte do MemoryStream, o que poderia ocasionar um conflito interno pois o ssitema informaria vários endereços de buffer para seu sistema o que poderia ocorrer um erro. Faça o que lhe sugeri com relaçao a memória virtual e verifique o comportamento de sua aplicação. Ficamos no aguardo.


Leonardo Xavier, como se faz para que a memória virtual seja gerenciada pelo sistema? Estou com um problema parecido com o do Ssa, implementei um algoritmo de criptografia com MemoryStream, mas dá problema com arquivos acima de 100 MB aproximadamente. Eu gostaria de saber se tem uma forma de aumentar essa capacidade.
Valeu.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar