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.Xyang server.quickstartmetode telah dihapus dan engine.starttidak mengambil blockingbendera. 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()