752 Stimmen

Welcher Python-Speicher-Profiler wird empfohlen?

Ich möchte den Speicherverbrauch meiner Python-Anwendung kennen und insbesondere wissen, welche Codeblöcke/Portionen oder Objekte den meisten Speicher verbrauchen. Die Google-Suche zeigt, dass ein kommerzielles Programm ist Python-Speicher-Validator (nur Windows).

Und Open-Source-Produkte sind PySizer y Heapy .

Ich habe noch keinen ausprobiert, deshalb wollte ich wissen, welcher der beste ist:

  1. Enthält die meisten Details.

  2. Ich muss nur wenige oder gar keine Änderungen an meinem Code vornehmen.

16voto

jmdana Punkte 409

Ich entwickle einen Speicher-Profiler für Python namens memprof:

http://jmdana.github.io/memprof/

Sie ermöglicht es Ihnen, den Speicherverbrauch Ihrer Variablen während der Ausführung der dekorierten Methoden zu protokollieren und darzustellen. Sie müssen nur die Bibliothek mit importieren:

from memprof import memprof

Und dekorieren Sie Ihre Methode mit:

@memprof

Dies ist ein Beispiel dafür, wie die Diagramme aussehen:

enter image description here

Das Projekt wird auf GitHub gehostet:

https://github.com/jmdana/memprof

12voto

Calen Pennington Punkte 121

Ich fand meliae viel funktionaler als Heapy oder PySizer zu sein. Wenn Sie zufällig eine wsgi-Webapp betreiben, dann Planierraupe ist eine schöne Middleware-Verpackung von Dowser

7voto

haypo Punkte 1104

Versuchen Sie auch die pytracemalloc-Projekt die den Speicherverbrauch pro Python-Zeilennummer angibt.

BEARBEITEN (2014/04): Es hat jetzt eine Qt-GUI, um Snapshots zu analysieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X