Я рекомендую Dowser . Налаштувати його дуже просто, і вам потрібні нульові зміни у вашому коді. Ви можете переглядати кількість об'єктів кожного типу за часом, переглядати список живих об’єктів, переглядати посилання на живі об’єкти, все з простого веб-інтерфейсу.
# 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)
Ви імпортуєте memdebug та викликаєте memdebug.start. Це все.
Я ще не пробував PySizer або Heapy. Буду вдячний за відгуки інших.
ОНОВЛЕННЯ
Вище код для CherryPy 2.X
, метод був вилучений і не приймає прапор. Тож якщо ви користуєтесьCherryPy 3.X
server.quickstart
engine.start
blocking
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()