用于诊断内存泄漏的python工具。
caulk的Python项目详细描述
一个SmartFile开源项目。Read more关于smartfile如何 使用和贡献开源软件。
简介
这个包由库和命令行工具组成。图书馆允许 将内存中的python对象转储到转储文件中。
命令行工具用于检查转储文件的内容。
创建转储文件。
要向一个python应用程序添加内存转储功能,请导入coulk 库并注册信号处理程序。
import caulk caulk.handler()
许多kwargs可以控制信号处理程序的操作。
- signum - The signal to react to, signal.SIGUSR1 by default.
- path - The path to which to write the dump file /var/tmp by default.
- name - The name of the dump file, ‘caulk’ by default..
转储文件的名称将为:'{0}-{1}-{2}.dump'。格式(名称、PID、时间)。
要生成转储文件,请使用kill:
# kill -usr1 <pid>
其中,<;pid>;是正在运行的应用程序的pid。
还可以使用低级api直接生成转储文件 而不是依赖信号处理器。
import caulk caulk.dump('/var/tmp/my.dump')
正在检查转储文件。
要检查转储文件,请使用coulk命令。
# caulk --classes /var/tmp/caulk-1025-1346255743.435316.dump count total average min/max class ---------------------------------------------------------------------- 4 256 64 64/64 unittest.suite.TestSuite 1 64 64 64/64 unittest.runner._WritelnDecorator 1 64 64 64/64 site._Helper ...
有关使用coulk命令的更多信息,请参见“帮助”。
# caulk --help