Saya merekomendasikan Dowser . Pengaturannya sangat mudah, dan Anda perlu nol perubahan pada kode Anda. Anda dapat melihat jumlah objek dari setiap jenis melalui waktu, melihat daftar objek hidup, melihat referensi ke objek hidup, semua dari antarmuka web sederhana.
# 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)
Anda mengimpor memdebug, dan memanggil memdebug.start. Itu saja.
Saya belum mencoba PySizer atau Heapy. Saya akan menghargai ulasan orang lain.
MEMPERBARUI
Kode di atas adalah untuk CherryPy 2.X
, CherryPy 3.X
yang server.quickstart
metode telah dihapus dan engine.start
tidak mengambil blocking
bendera. Jadi, jika Anda menggunakanCherryPy 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()