Ich empfehle Wünschelrutengänger . Es ist sehr einfach einzurichten, und Sie brauchen keine Änderungen an Ihrem Code vorzunehmen. Sie können die Anzahl der Objekte jedes Typs im Laufe der Zeit, die Liste der aktiven Objekte und die Verweise auf aktive Objekte über eine einfache Webschnittstelle anzeigen.
# memdebug.py
import cherrypy
import dowser
def start(port):
cherrypy.tree.mount(dowser.Root())
cherrypy.config.update({
'environment': 'embedded',
'server.socket_port': port
})
cherrypy.server.quickstart()
cherrypy.engine.start(blocking=False)
Sie importieren memdebug, und rufen memdebug.start auf. Das war's schon.
Ich habe PySizer oder Heapy nicht ausprobiert. Ich würde andere Bewertungen zu schätzen wissen.
UPDATE
Der obige Code ist für CherryPy 2.X
, CherryPy 3.X
le site server.quickstart
Methode wurde entfernt und engine.start
nimmt nicht die blocking
Flagge. Wenn Sie also CherryPy 3.X
# memdebug.py
import cherrypy
import dowser
def start(port):
cherrypy.tree.mount(dowser.Root())
cherrypy.config.update({
'environment': 'embedded',
'server.socket_port': port
})
cherrypy.engine.start()