Suchen Sie in Python nach speicherintensiven Listen / Arrays

Suchen und Löschen von speicherhungrigen Variablen in Jupyter (IPython) -Qiita Die zweite in der Reihe "Memory Release with Python".

Zielen Sie auf die Liste / das Array, um die Variablen zu finden und zu löschen, die den Speicher belegen.

Code

Definieren Sie die folgende Funktion.

def print_varsize():
    import types
    print("{}{: >15}{}{: >10}{}".format('|','Variable Name','|','  Size','|'))
    print(" -------------------------- ")
    for k, v in globals().items():
        if hasattr(v, 'size') and not k.startswith('_') and not isinstance(v,types.ModuleType):
            print("{}{: >15}{}{: >10}{}".format('|',k,'|',str(v.size),'|'))
        elif hasattr(v, '__len__') and not k.startswith('_') and not isinstance(v,types.ModuleType):
            print("{}{: >15}{}{: >10}{}".format('|',k,'|',str(len(v)),'|'))

Was Sie tun, ist einfach "Aus den globalen Variablen werden nur die Variablen extrahiert, die das Größenattribut oder das Attribut \ _ \ _ len \ _ \ _ haben, und der Name und die Größe oder Länge dieser Variablen werden ausgegeben." Nur. (Von den Variablen werden diejenigen, die mit '_' beginnen, und diejenigen, deren Typ Modul ist, vom Druckziel ausgeschlossen.)

Ausführungsergebnis

>>> import numpy as np
>>> lst = [3,1,4,1,5]
>>> tpl = (1,5,3)
>>> a=np.zeros((100,100,3))
>>> print_varsize()

|  Variable Name|      Size|
 -------------------------- 
|            lst|         5|
|            tpl|         3|
|            Out|         0|
|              a|     30000|
|             In|         8|

Auf diese Weise sind große Listen und Anordnungen offensichtlich.

Wenn Sie es soweit schaffen,

del a

Sie können unnötige Variablen angeben und löschen. Sie können Speicher freigeben und bequem mit Python weiterarbeiten.

Recommended Posts

Suchen Sie in Python nach speicherintensiven Listen / Arrays
Bearbeiten von Python-Zeichenlisten (Arrays)
Suchen Sie nach Dateien wie Linux Find in Python
Verstehen Sie Python-Listen, Wörterbücher und so weiter.
Twitter mit Python3
Python auf Mac
Python auf Windbg
Python Conda mit Cygwin
Finden Sie das maximale Python
Installieren Sie Python auf der WSL
PyOpenGL-Setup unter Python 3
Installieren Sie Python auf Pidora.
Installieren Sie Scrapy auf Python3
Union Find auf networkX
Python3 | Listen, Taples, Wörterbücher
Installieren Sie Python auf dem Mac
Installieren von Python 3 in einer Mac-Umgebung
Installieren Sie Python3.4 unter CentOS 6.6
Python> Tupel versus Listen
Python-Liste, Tapple, Wörterbuch
Pandas auf python2.6 installieren
Python Basic ② in Windows
Installieren Sie Python unter Windows
Die findähnliche Sache der Liste in Python
Installieren Sie Python 2.7.3 unter CentOS 5.4
Build Python auf Ubuntu
Installieren Sie Python 3.3 unter Ubuntu 12.04
Installieren Sie Python 3.4 auf einem Mac
Installieren Sie Python 3.6 auf Docker
Aktivieren Sie Python virtualenv unter Windows
Richten Sie Python 3.4 unter Ubuntu ein
Führen Sie Openpose unter Python (Windows) aus.
Installieren Sie Python 3.8 auf RHEL 8 (AppStream)
Verwenden Sie matplotlib unter Ubuntu 12 und Python
Python auf Ruby und wütend Ruby auf Python
Finde Fehler in Python
Installieren Sie pygame auf python3.4 auf dem Mac
Python + Kivy-Entwicklung unter Windows
Installieren Sie Python 3.8 unter CentOS 7 (SCL)
Echtzeitdiagramm mit Plotly (Python)
Sphinx-Autobuild (0.5.2) unter Windows7, Python 3.5.1, Sphinx 1.3.5
Setzen Sie Python 3.x in Ubuntu ein
Schnellste Python-Installation unter Windows
[Python] Hinweise zur Datenanalyse
Erstellen Sie eine Python-Umgebung unter Windows
Python> Umgang mit 2D-Arrays
Führen Sie Tensorflow 2.x unter Python 3.7 aus
Finden Sie die Reihenfolge / Kombination in Python
Umgang mit Python auf Mac
Aktualisieren Sie die Python, die Sie auf Ihrem Mac hatten, auf 3.7-> 3.8
Installieren Sie pandas 0.14 auf python3.4 [auf Mac]
Installieren Sie OpenCV unter Ubuntu + Python
Hinweise zur Installation von Python auf Ihrem Mac
Führen Sie Pythons CGI auf CORESERVER aus
Twitter-Beiträge in Python 3 usw.
Führen Sie den Unix-Befehl auf Python aus
Erstellen Sie eine Python-Umgebung mit Windows
Python - Installieren Sie MySQLDB auf EC2
Einführung von TensorFlow in Ubuntu + Python 2.7