Compartilhar via


Exceções de solução de problemas: System.OutOfMemoryException

Uma exceção OutOfMemoryException é gerada quando ocorre falha em uma tentativa para alocar memória.

Dicas relacionadas

  • Se estiver criando uma matriz, verifique o tamanho correto.
    Para obter mais informações, os usuários do Visual Basic podem consultar Matrizes no Visual Basic.

    Para obter mais informações, os usuários do C# podem consultar Matrizes (Guia de Programação em C#).

  • Verifique se você tem memória suficiente para fins internos e novos objetos gerenciados.
    Se você estiver programando no .NET Compact Framework, o Common Language Runtime gerará esta exceção quando não houver memória suficiente para fins internos ou novos objetos gerenciados. Para evitar a exceção, evite programar métodos grandes que consomem 64 ou mais quilobytes de memória.

Comentários

O uso excessivo de memória gerenciada normalmente é causado por:

  • Ler grandes conjuntos de dados na memória.

  • Criar entradas de cache excessivas.

  • Carregar ou baixar arquivos grandes.

  • Uso excessivo de expressões regulares ou cadeias de caracteres ao analisar arquivos.

  • Estado de exibição excessivo.

  • Dados demais no estado da sessão ou em sessões demais.

Esta exceção pode ser gerada com uma mensagem adicional, “Não há armazenamento suficiente disponível para concluir esta operação”, ao invocar um método em um objeto COM que retorna um tipo definido pelo usuário que contém uma matriz segura (uma matriz de tamanho não fixo). Isso ocorre porque o .NET Framework não pode realizar marshaling de um campo de estrutura com um tipo de matriz segura.

Consulte também

Tarefas

Como usar o Assistente de Exceção

Referência

OutOfMemoryException