Python MemoryError

Python MemoryError

Python ist eine interaktive und objektorientierte Programmiersprache, die mehrere Programmiermodelle unterstützt und sich bemüht, alle Modelle zugänglich und funktional zu machen. Python -Sprache ist für Anfänger leicht zu lernen. In Python gibt es verschiedene Arten von Fehlern, die in der Python -Programmiersprache auftreten können. Dieser Artikel soll einen der Fehler in Python als Speicherfehler hervorheben, und wir werden seine Definition, seine Typen und die Vermeidung oder Behebung des Python -Speicherfehlers diskutieren. Beginnen wir mit seiner Definition.

Python MemoryError

Der Python -Speicherfehler ist ein Fehler, der auftritt, wenn der Zufallszugriffsspeicher, auch als RAM bezeichnet wird, den Code bei der Ausführung nicht unterstützen kann, da der Code, der ausgeführt wird, mehr als der vorhandene RAM benötigt. Der Fehler tritt häufig auf, wenn eine große Datenmenge in den Speicher geladen wird und ein Programm während der Verarbeitung der Daten keinen Speicher hat. Einfach ausgedrückt, dieser Fehler tritt auf, wenn Ihnen der RAM ausgeht, um den Code auszuführen.

Dieser Fehler tritt häufig auf, wenn eine große Datenmenge in den Speicher geladen wird und dem Programm bei der Verarbeitung der Daten keinen Speicher hat.

Speicherfehlertypen

Es gibt zahlreiche Arten von Speicherfehlern in der Python -Programmierung. Einer der Fehler kann auch auftreten, wenn Sie eine große RAM -Größe haben, die die massiven Datensätze umgehen kann. Ein anderer Typ tritt auf, wenn die RAM -Kapazität aufgrund der auf der Systemfest gespeicherten Daten überschritten wird.

Im Folgenden finden Sie einige Arten von Speicherfehlern:

Unerwarteter Speicherfehler in Python

Dieser Fehler tritt auf, wenn das System RAM -Speicherplatz hat, aber die Software, die Sie verwenden. Dieser Fehler tritt bei der Verwendung einer 32-Bit-Python-Installation auf, da sie nur Zugriff auf 4 GB RAM hat. Wenn das von Ihnen verwendete System nur 32-Bit ist, wird der verfügbare Speicher reduziert. Obwohl 4 GB RAM in den meisten Fällen ausreicht, ist Python immer noch eine Programmiersprache, die allgemeinere Sprachen hat. Python -Programmiersprache wird in vielen wichtigen Bereichen wie Datenwissenschaft, Anwendungsentwicklung, künstlicher Intelligenz und auch grafischer Benutzeroberfläche (GUI) verwendet.

Speicherfehler aufgrund der falschen Installation von Python und einem Datensatz

Die Datendatei, die in den Speicher geladen wird. Wenn jedoch eine große Menge Datensatz in den Speicher geladen wird, um die Berechnungen auszuführen, die Daten zu speichern oder die Patches einzuschalten, kann der Speicher schnell ablaufen.

Ein weiterer Speicherfehler kann auftreten, wenn Sie das falsche Python -Paket installieren. Zum Beispiel, wenn Sie die Python Version 2 manuell installiert haben.7 und andere notwendige Programme unter Windows können Sie aufgrund eines falschen Installationspakets einen Speicherfehler erleben.

Außerhalb des Speicherfehler

Ein Computer kann den Speicher in der Regel bis zum vollständigen Speicher verteilen, und der Speichermanager verwendet den verfügbaren Festplattenraum, um die Speicherdateien oder Dokumente zu speichern, wenn er nicht in den RAM passen kann. Dies führt dann zu einem außerspeicheren Fehler und Sie können ihn anzeigen, indem Sie in die Systemeigenschaften eingehen und dann die Leistungsoptionen auswählen, bei denen Sie eine Sicherungsoption finden, die Sie dazu veranlasst, den virtuellen Speicher in Windows anzuzeigen.

Im folgenden Abschnitt geben wir Ihnen einige Beispiele für Speicherfehler und die weit verbreiteten Lösungen, die Sie befolgen können.

Beispiel:

Beginnen wir mit einem interessanten Code, um diesen Fehler in der Arbeit zu sehen. Hier beginnen wir mit einem leeren Array mit dem Namen "ABC" und fügen die Saiten mit den verschachtelten Arrays hinzu. In diesem Beispiel werden drei Ebenen verschachtelter Arrays mit jeweils 20.000 Iterationen verwendet. Dies zeigt die Zeichenfolge an „Noch einmal!”Erscheint 2.000.000.000 Mal im Array„ ABC “am Ende des Programms.

ABC = []
für m in Range (20000):
für n in Range (20000):
für k in Range (20000):
ABC.anhängen ("noch einmal!"))

Hier können Sie sehen, dass der vorherige Code zu einem Speicherfehler führt und der Grund ziemlich offensichtlich ist.

So vermeiden Sie Speicherfehler

Es gibt mehrere Lösungen für Speicherfehler, und Sie benötigen die richtige, um sie zu beheben. Der unerwartete Speicherfehler kann gelöst werden, wenn Sie die 64-Bit-Version von Python anstelle der 32-Bit. Ein Datensatzfehler sollte die dedizierten Generatormethoden und Klassen verwenden, die besprochen werden.

Im Folgenden finden Sie einige Lösungen, die verwendet werden können, um den Fehler zu vermeiden:

Freies Gedächtnis in Python

Durch die Beseitigung unnötiger und ungenutzter Daten, indem Sie sie löschen oder befreien, hat der Speicher mehr Platz. Wir können auch nur die relevanten Daten mit Generatoren oder mit einer Stapel -Technik speichern, um die großen Datensätze in kleinere Datensätze aufzuteilen. Dazu können wir den folgenden Code verwenden:

Dieses Programm, bekannt als Garbage Collector (GC). Wir können den Speicher freigeben, indem wir die nicht referenzierten Objekte mithilfe des Import -Müllsammlers und GC beseitigen.sammeln () Linie.

Begrenzen Sie die CPU -Nutzung

Hier kann das Ressourcenmodul verwendet werden, um die Speicherverwendung von Programmen oder die CPU so zu begrenzen. Dies kann mit dem folgenden Code erfolgen:

Hier importieren wir die Bibliotheken des Signals als "SEG", Ressource als "Res" und "OS". Um zu überprüfen, ob das Frist überschritten ist. Um das Ressourcenlimit einzurichten, verwenden wir den Code von "set_runtime (Sekunden)".

Speicherverbrauch einschränken

Um die Speicherverwendung zu begrenzen, begrenzt der folgende Code den gesamten Adressraum. Hier importieren wir das Ressourcenmodul und definieren eine Funktion namens "meadley_size", in der wir die Option zur Festlegung eines Limit.

Ressource als res importieren
Def Memory_size (max_size):
weich, hart = res.Getrlimit (res.Rlimit_as)
res.setRlimit (res.Rlimit_as, (max_size, hart)))

Mehr Speicher zuweisen

Speicherfehler kann auch vermieden werden, wenn mehr Speicher für die Speichereinstellungen von Python zugewiesen werden kann, indem der Speicher rekonfiguriert wird, um mehr RAM zuzuweisen.

Wählen Sie einen kleineren Datensatz oder verwenden Sie einen Computer mit mehr Speicher

Verwenden der progressiven Datenbelastungstechniken, um die Daten nach den ersten 100, 1000 oder 100.000 Zeilen zufällig zu probieren, um das Problem zu lösen. Wir können den Speicherfehler auch vermeiden, wenn wir Zugriff auf einen größeren Computer mit mehr Speicher haben.

Numpy importieren
Numpy.willkürlich.Uniform (niedrig = 1, hoch = 20, Größe = (50000.200000))

Hier können wir sehen, dass, wenn wir die „Numpy“ -Operationen verwenden, zufällige Zahlen zwischen 50.000 und 200000 produzieren, wobei die niedrigste Zahl 1 und die höchste 20 beträgt 20. Die im Code genannte Größe ist so massiv, dass ein Speicherfehler auftritt.

Daher ist es besser, kleinere Datensätze zu verwenden oder einen Computer mit höherem Speicher zu verwenden. Wenn wir beispielsweise 1000 und 20000 anstelle von 50000 und 200000 verwenden, zeigt der Code den Fehler nicht an.

Numpy importieren
Numpy.willkürlich.Uniform (niedrig = 1, hoch = 20, Größe = (1000.20000))

Abschluss

In diesem Artikel haben wir über Speicherfehler gesprochen. Unser Hauptbeitrag ist, dass der Speicherfehler die Verwendung von RAM auf unserem Computer ist, wo viele Vorgänge stattfinden. Wir haben auch verschiedene Methoden gelernt, die verwendet werden können, um mit einem Python -Speicherfehler umzugehen. Dieser Artikel ist eine einfache Anleitung, die ein Speicherfehler einführt, was seine Typen sind und wie wir ihn lösen oder vermeiden können.