首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Dowser跟踪Python中的内存泄漏

使用Dowser跟踪Python中的内存泄漏
EN

Stack Overflow用户
提问于 2012-10-24 07:35:15
回答 2查看 2.3K关注 0票数 4

我正在一个带有centos操作系统的VM上每晚运行一些测试。最近,测试已经占用了机器上所有可用的内存和几乎所有的交换内存,我分配了VM的两倍多的内存,并且它仍然在发生,这导致了VM的物理主机死亡。这些测试以前运行时不需要一半内存,所以我需要使用某种形式的python内存分析器来调查正在发生的事情。

我看过PysizerHeapy --但是经过研究,Dowser似乎是我想要的,因为它需要对代码进行零更改。

到目前为止,远离文档和googling,我在它自己的类中获得了以下代码:

代码语言:javascript
复制
import cherrypy
import dowser

class MemoryAnalyzer:

def memoryCheck(self):
    cherrypy.config.update({'server.socket_port':8080})
    cherrypy.tree.mount(dowser.Root())
    cherrypy.engine.start()

我希望这能打开文档中显示的web接口,以跟踪在主机上运行的python的所有实例,这是不起作用的。我对这些文件感到困惑:

代码语言:javascript
复制
   'python dowser __init__.py'. 

有可能只运行这个吗?我知道错误:

代码语言:javascript
复制
  /usr/bin/python: can't find '__main__.py' in 'dowser'

dowser能独立于VM上的测试套件运行吗?或者我必须将上面的代码实现到我的主类中来运行我的测试来跟踪python的实例?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-25 09:55:46

设法让唐瑟工作使用这个博客http://www.aminus.org/blogs/index.php/2008/06/11/tracking-memory-leaks-with-dowser?blog=2,并将端口改为8088,而不是8080(这不是在机器上使用,但仍然不能工作!)

票数 0
EN

Stack Overflow用户

发布于 2012-10-24 07:40:48

Dowser是作为应用程序的一部分运行的。因此,无论您在何处初始化应用程序,都要添加以下行

代码语言:javascript
复制
import dowser
cherrypy.tree.mount(dowser.Root(), '/dowser')

然后,您可以浏览到http://localhost:8080/dowser来查看dowser界面。

请注意,您从文档中引用的调用是用于测试dowser的。正确的调用是python dowser/__init__.py

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13044699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档