Python-Skript weiß, wie viel Speicher es verwendet [duplizieren]

8

Wie kann ein Python-Skript wissen, wieviel Systemspeicher es gerade benutzt? (Annahme eines Unix-basierten Betriebssystems)

    
ʞɔıu 06.08.2009, 18:20
quelle

5 Antworten

11

Wenn Sie den gesamten vom Interpreter verwendeten Speicher unter Linux erfahren möchten, lesen Sie /proc/self/statm .

Wenn Sie herausfinden möchten, wie viel Speicher Ihre Objekte verwenden, verwenden Sie Pympler .

    
Martin v. Löwis 06.08.2009 18:35
quelle
3

Ähnliche Frage:

Python-Speicherprofiler

Sieht aus, als gäbe es Speicher-Profiler für Python.

PySizer scheint populär zu sein. Heapy ist ein anderer.

Google: "Python Speicher Profiler" für mehr.

    
Alex 06.08.2009 18:32
quelle
2

Ich habe einmal ein Snippet verwendet, das ich auf ActiveState gefunden habe und es schien gut zu funktionieren. Tatsächlich verwendet es die gleiche Methode, die Martin v. Löwis vorgeschlagen hat.

    
Chris Ciesielski 06.08.2009 23:02
quelle
1

Ich glaube nicht, dass es einen einfachen Weg dafür gibt. Praktisch, auf einem Unix OS würde ich wahrscheinlich etwas mit os.getpid () machen und ps aufrufen oder Einträge in / proc. Lesen.

Python 2.6 fügt sys.getsizeof () hinzu, das Sie zusammen mit gc.get_objects () verwenden können, um die Größe des Arbeitssatzes von Objekten zu bestimmen:

%Vor%

Ich denke nicht, dass das in der Praxis eine gute Idee wäre.

    
Nelson 06.08.2009 18:36
quelle
0

Ich habe es nicht benutzt, aber Sie könnten haufen ( Ссылка ), das ein Speicherprofil für Python-Programme zu sein scheint.

    
Jim 06.08.2009 18:40
quelle

Tags und Links