Beim Erstellen eines großen NumPy-Arrays mit dem Datentyp „uint8“ unter Ubuntu 18 kann es vorkommen, dass Es tritt der Fehler auf:
numpy.core._exceptions.MemoryError: Unable to allocate array with shape and data type uint8
Dies tritt auf, obwohl auf dem System ausreichend Speicher verfügbar ist und nicht das gleiche Problem auftritt MacOS.
Die Hauptursache für dieses Problem ist der Overcommit-Verarbeitungsmodus des Betriebssystems. Standardmäßig ist Overcommit deaktiviert, was bedeutet, dass der Kernel Zuweisungen ablehnt, die den verfügbaren Speicher überschreiten.
Um dieses Problem zu beheben:
Wenn Wenn Sie manuell in Speicherorte schreiben, stellen Sie sicher, dass Seitenfehler explizit ausgelöst werden, um physischen Speicher zuzuweisen.
Das obige ist der detaillierte Inhalt vonWarum kann ich unter Ubuntu keine großen NumPy-Arrays erstellen und wie kann ich den Speicherzuweisungsfehler beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!