用于诊断内存泄漏的python工具。

caulk的Python项目详细描述


一个SmartFile开源项目。Read more关于smartfile如何 使用和贡献开源软件。

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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
iOS MDM注册配置文件请求/Profile使用java对证书进行签名   java如何调试GWT项目中的PHP文件   Mac和Windows之间的Java文件getFreeSpace差异   java从ArrayList进入JComboBox   ApacheKafka如何执行zookeeperserverstart。我的java程序中的bat文件?   JAXRS应用程序的java初始化   java如何为double覆盖compareTo方法?   使用进程动态运行java代码   sockets java。网SocketException:权限被拒绝openshift   java PorterduffXfermode:清除位图的一部分   其他线程中变量的java更改侦听器   java如何初始化接口实例以与父片段中的子片段通信   java Cordova插件在构建时出错,源代码1.6中不支持菱形运算符使用源代码7   java是学习编程的教育游戏吗?   在不同机器上使用JasperReports API运行代码时出现java问题   java Spring引导延迟Flyway序列化循环依赖   未为加密/解密初始化java密码