Python MemoryError

Python MemoryError

O Python é uma linguagem de programação interativa e orientada a objetos que suporta vários modelos de programação e se esforça para tornar todos os modelos acessíveis e funcionais. A linguagem python é fácil de aprender para um iniciante. No Python, existem vários tipos de erros que podem ocorrer na linguagem de programação Python. Este artigo é para destacar um dos erros no Python chamado erro de memória e discutiremos sua definição, seus tipos e como evitar ou corrigir o erro de memória Python. Vamos começar com sua definição.

Python MemoryError

O erro de memória do Python é um erro que ocorre quando a memória de acesso aleatório, também conhecida como RAM, não pode suportar o código quando executado porque o código que está em execução precisa mais do que o RAM existente. O erro ocorre frequentemente quando uma grande quantidade de dados é carregada na memória e quando um programa fica sem memória enquanto processa os dados. Simplificando, esse erro ocorre quando você fica sem RAM para executar o código.

Esse erro ocorre frequentemente quando uma grande quantidade de dados é carregada na memória e o programa fica sem memória enquanto processa os dados.

Tipos de erro de memória

Existem vários tipos de erros de memória na programação python. Um dos erros também pode ocorrer se você tiver um grande tamanho de RAM capaz de lidar com os enormes conjuntos de dados. Outro tipo ocorre quando a capacidade da RAM é excedida devido aos dados armazenados no disco rígido do sistema.

A seguir, alguns tipos de erros de memória:

Erro de memória inesperado em Python

Este erro ocorre quando o sistema tem espaço na RAM, mas o software que você está usando preenchiu todo o espaço de endereço virtual que ele tem disponível. Este erro ocorre ao usar uma instalação de Python de 32 bits porque só tem acesso a 4 GB de RAM. Se o sistema que você estiver usando for apenas de 32 bits, a memória disponível será reduzida. Embora 4 GB de RAM seja suficiente na maioria dos casos, o Python ainda é uma linguagem de programação que possui idiomas de uso mais geral. A linguagem de programação do Python é usada em muitos campos importantes, como ciência de dados, desenvolvimento de aplicativos, inteligência artificial e também interface gráfica do usuário (GUI).

Erro de memória devido à instalação incorreta do Python e um conjunto de dados

O arquivo de dados que é carregado na memória pode ser pequeno ou grande, dependendo do tipo de programa que você deseja executar. No entanto, se uma grande quantidade de conjunto de dados for carregada na memória para executar os cálculos, armazenar os dados ou executar os patches.

Outro erro de memória pode ocorrer se você instalar o pacote Python errado. Por exemplo, se você instalou manualmente a versão 2 do Python.7 e outros programas necessários no Windows, você pode experimentar um erro de memória devido a um pacote de instalação incorreto.

Erro de falta de memória

Um computador geralmente pode distribuir a memória até que esteja cheia, e o gerenciador de memória usa o espaço de disco rígido disponível para armazenar os arquivos ou documentos de memória se eles não puderem se encaixar na RAM. Isso leva a um erro fora da memória e você pode visualizá -lo entrando nas propriedades do sistema e selecionando as opções de desempenho em que você encontrará uma opção de backup que o leva a visualizar a memória virtual no Windows.

Na seção a seguir, forneceremos alguns exemplos de erros de memória e as soluções amplamente usadas para você seguir.

Exemplo:

Vamos começar com um código interessante para ver esse erro no trabalho. Aqui, começamos com uma matriz vazia chamada "ABC" e adicionamos as cordas usando as matrizes aninhadas. Neste exemplo, três níveis de matrizes aninhadas com 20.000 iterações para cada um são usadas. Isso indica a string “Mais uma vez!”Aparece 2.000.000.000 vezes na matriz“ ABC ”no final do programa.

ABC = []
para M em Range (20000):
para n em Range (20000):
Para K em Range (20000):
abc.anexar ("mais uma vez!")

Aqui, você pode ver que o código anterior resulta em um erro de memória e o motivo é bastante óbvio.

Como evitar o erro de memória

Existem várias soluções para erros de memória, e você precisa do certo para corrigi -los. O erro de memória inesperado pode ser resolvido se você instalar a versão de 64 bits do Python em vez da versão de 32 bits, pois terá muito mais armazenamento e RAM, embora haja mais uso de memória. Um erro de conjunto de dados deve usar os métodos e classes geradores dedicados que serão discutidos.

A seguir, estão algumas soluções que podem ser usadas para evitar o erro:

Memória Livre em Python

Ao se livrar de dados desnecessários e não utilizados, excluindo ou liberando, a memória terá mais espaço. Também podemos armazenar apenas os dados relevantes usando geradores ou uma técnica de lote para dividir os grandes conjuntos de dados em conjuntos de dados menores. Para fazer isso, podemos usar o seguinte código:

Este programa, conhecido como coletor de lixo (GC), é empregado para liberar a memória. Podemos liberar a memória eliminando os objetos não referenciados usando o coletor de lixo de importação e o GC.colecionar () linha.

Limite o uso da CPU

Aqui, o módulo de recurso pode ser usado para limitar o uso da memória dos programas ou da CPU para que um erro de memória não ocorra. Isso pode ser feito com o seguinte código:

Aqui, importamos as bibliotecas do sinal como "seg", recurso como "res" e "os". Para verificar se o limite de tempo é excedido, usamos o código "check_time_exceced (sningo, quadro)" e o horário de impressão está. Para configurar o limite de recursos, usamos o código de "set_runtime (segundos)".

Restringir o uso da memória

Para limitar o uso da memória, o seguinte código limita o espaço de endereço total. Aqui, importamos o módulo de recurso e definimos uma função chamada "memória_size", na qual fornecemos a opção de definir um limite.

importar recurso como res
def Memory_size (max_size):
macio, duro = res.getrlimit (res.Rlimit_as)
res.setrlimit (res.Rlimit_as, (max_size, duro))

Alocar mais memória

O erro de memória também pode ser evitado se mais memória puder ser alocada às configurações de memória do Python, reconfigurando a memória para alocar mais RAM.

Escolha um conjunto de dados menor ou use um computador com mais memória

Usando as técnicas progressivas de carregamento de dados para amostrar aleatoriamente os dados após as primeiras 100, 1000 ou 100.000 linhas para resolver o problema. Também podemos evitar o erro de memória se tivermos acesso a um computador maior com mais memória.

importar numpy
Numpy.aleatório.uniforme (baixo = 1, alto = 20, tamanho = (50000.200000)))

Aqui, podemos ver que, se usarmos as operações "Numpy", ele produz números aleatórios entre 50.000 e 200000, com o número mais baixo sendo 1 e o mais alto sendo 20. O tamanho mencionado no código é tão grande que ocorre um erro de memória.

Portanto, é melhor usar conjuntos de dados menores ou um computador com maior memória. Por exemplo, se usarmos 1000 e 20000 em vez de 50000 e 200000, o código não mostrará o erro.

importar numpy
Numpy.aleatório.uniforme (baixo = 1, alto = 20, tamanho = (1000.20000)))

Conclusão

Neste artigo, conversamos sobre erros de memória. Nossa principal contribuição é que o erro de memória é o uso da RAM em nosso computador, onde muitas operações ocorrem. Também aprendemos diferentes métodos que podem ser usados ​​para lidar com um erro de memória python. Este artigo é um guia simples que introduz o que é um erro de memória, quais são seus tipos e como podemos resolvê -lo ou evitá -lo.