跳转到主要内容

Python内存泄漏诊断工具。

项目描述

一个 SmartFile 开源项目。 了解更多关于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

项目详情


由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面