Speicherverlust im Python Jupyter Lab (Notebook)?

Umgebung

Phänomen

Ich verwende Jupyter Lab und nach dem Definieren einer Variablen geben del und gc.collect () den Speicher nicht frei.

Reproduktionsverfahren

Schreiben Sie den folgenden Code in eine Zelle und führen Sie ihn aus.

import numpy as np
import pandas as pd
import psutil
print(psutil.Process().memory_info().rss / 1024**2)
df = pd.DataFrame(np.arange(50000000).reshape(-1,5))
df.head()

image.png

Beachten Sie, dass es am Ende df.head () ist.

In der nächsten Zelle

print(psutil.Process().memory_info().rss / 1024**2)
del df
print(psutil.Process().memory_info().rss / 1024**2)

image.png

Der Speicherstatus wird nicht sofort angezeigt. Überprüfen Sie ihn daher für alle Fälle in der nächsten Zelle.

print(psutil.Process().memory_info().rss / 1024**2)

image.png

image.png

Ursache

Ich dachte, es sei ein Problem mit pandas.DataFrame, aber das ist es nicht. Wenn die Ausgabe von der Jupyter Lab-Funktion am Ende der "Zelle" angezeigt wird, wird sie anscheinend nicht freigegeben, selbst wenn Sie danach in einer anderen Zelle löschen.

Lösung

Nicht df.head () am Ende der Zelle. Drucken Sie, wenn Sie es anzeigen möchten.

image.png

Kommentar

――Es ist ein Teil / Verhalten, bei dem Sie sich unwohl fühlen, aber es ist etwas, bei dem Sie vorsichtig sind, wenn Sie richtig mit Jupyter anfangen (ich weiß nicht).

Recommended Posts

Speicherverlust im Python Jupyter Lab (Notebook)?
Generieren Sie das Jupyter-Notizbuch ".ipynb" in Python
Installieren von Python Jupyter Lab
3 Jupyter Notebook (Python) Tricks
HTML in Jupyter-Notizbuch anzeigen
Mehrfachverarbeitungsfehler in Jupyter Notebook
jupyter notebook in python3.8 venv umgebung
Überprüfen Sie Python auf Speicherlecks
Snippet-Einstellungen für Python Jupyter Notebook
Python-Memo Anaconda x Jupyter-Notizbuch
[Python] Generiert QR-Code im Speicher
Zeigen Sie Diagramme inline in Jupyter Notebook an
Einfach zu bedienendes Jupyter-Notebook (Python3.5)
Jupyter Notebook 6.0.2 kann nicht in der in Anaconda erstellten Python 2.7-Umgebung installiert werden
Behandeln Sie mehrere Python-Versionen in einem Jupyter
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
Verwenden Sie Jupyter Lab und Jupyter Notebook mit EC2
So führen Sie Befehle mit einem Jupyter-Notebook aus
Wenn Sie sich die Speichernutzung in Python 3 ansehen
Verknüpfung von Python und JavaScript mit dem Jupiter-Notizbuch
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
SendKeys in Python
Jupyter Notizbuch Memo
[Jupyter Notebook / Lab] Drei Möglichkeiten zum Debuggen auf Jupyter [Pdb]
Einführung in Jupyter Notebook
Metaanalyse in Python
Unittest in Python
Jupyter Lab beginnt
So implementieren Sie Shared Memory in Python (mmap.mmap)
Angeben des Jupyter Notebook-Browsers in einer Windows-Umgebung
Epoche in Python
Zwietracht in Python
Leistungsstarkes Jupyter-Notizbuch
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Bash in Jupyter
Plink in Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
Jupyter Notebook Passwort
Jupyter Notizbuch Memo
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python