我每晚都在一个带有centos操作系统的VM上运行一些测试。最近测试占用了机器上所有可用的内存和几乎所有的交换内存,我给虚拟机分配了两倍的内存,但它仍在发生,这导致虚拟机的物理主机死机。这些测试以前是在不需要一半内存的情况下运行的,所以我需要使用某种形式的python内存分析器来研究到底发生了什么。在
我看过Pysizer和Heapy,但经过研究,Dowser似乎是我的目标,因为它需要对代码进行零更改。在
我在google上找到了这门课上的代码:
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实例,但这不起作用。我被文件搞糊涂了:
^{pr2}$有可能只运行这个吗?我得到了一个错误:
/usr/bin/python: can't find '__main__.py' in 'dowser'
dowser可以独立于我的测试套件在虚拟机上运行吗?或者,我将不得不在我的主类中实现上面的代码来运行我的测试来跟踪python的实例吗?在
Dowser将作为应用程序的一部分运行。因此,无论在哪里初始化应用程序,都要添加行
然后您可以浏览到
http://localhost:8080/dowser
查看dowser接口。在注意,您从文档中引用的调用是为了测试dowser。正确的调用是
python dowser/__init__.py
。在设法让dowser使用这个博客http://www.aminus.org/blogs/index.php/2008/06/11/tracking-memory-leaks-with-dowser?blog=2工作,并将端口更改为8088而不是8080(这在机器上没有使用,但仍然不起作用!)在
相关问题 更多 >
编程相关推荐