Python内存泄漏诊断工具。
项目描述
一个 SmartFile 开源项目。 了解更多关于SmartFile如何使用和贡献开源软件的信息。
简介
此包包含一个库和命令行工具。该库允许您将内存中的Python对象转储到转储文件。
命令行工具用于检查转储文件内容。
创建转储文件。
要将内存转储功能添加到您的Python应用程序之一,导入caulk库并注册信号处理器。
import caulk caulk.handler()
多个kwargs可以控制信号处理器的操作。
signum - 默认情况下,响应的信号为signal.SIGUSR1。
path - 要写入转储文件的路径,默认为/var/tmp。
name - 转储文件名,默认为‘caulk’。
转储文件名将为:‘{0}-{1}-{2}.dump’。format(name, pid, time)。
要生成转储文件,请使用kill
# kill -usr1 <pid>
其中 <pid> 是您正在运行的应用程序的pid。
您还可以使用低级API直接生成转储文件,而无需依赖于信号处理器。
import caulk caulk.dump('/var/tmp/my.dump')
检查转储文件。
要检查转储文件,请使用caulk命令。
# 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 ...
有关使用caulk命令的更多信息,请参阅其帮助。
# caulk --help