使用Dowser跟踪Python中的内存泄漏
我每晚都在使用centos操作系统的虚拟机上运行一些测试。最近,测试占用了机器上所有可用的内存和几乎所有的交换内存,我给虚拟机分配了两倍的内存,但这种情况仍在发生,这导致虚拟机的物理主机死亡。这些测试以前是在不需要一半内存的情况下运行的,因此我需要使用某种形式的python内存分析器来调查发生了什么 我已经看过了Pysizer和Heapy——但是经过研究Dowser似乎是我想要的,因为它不需要对代码进行任何更改 到目前为止,除了文档和谷歌搜索之外,我在自己的类中有以下代码:使用Dowser跟踪Python中的内存泄漏,python,memory,memory-leaks,Python,Memory,Memory Leaks,我每晚都在使用centos操作系统的虚拟机上运行一些测试。最近,测试占用了机器上所有可用的内存和几乎所有的交换内存,我给虚拟机分配了两倍的内存,但这种情况仍在发生,这导致虚拟机的物理主机死亡。这些测试以前是在不需要一半内存的情况下运行的,因此我需要使用某种形式的python内存分析器来调查发生了什么 我已经看过了Pysizer和Heapy——但是经过研究Dowser似乎是我想要的,因为它不需要对代码进行任何更改 到目前为止,除了文档和谷歌搜索之外,我在自己的类中有以下代码: import che
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实例,但这不起作用。我被文件弄糊涂了:
'python dowser __init__.py'.
可以运行这个吗?我得到一个错误:
/usr/bin/python: can't find '__main__.py' in 'dowser'
dowser能否在VM上独立于我的测试套件运行?或者我必须将上述代码实现到我的主类中,才能运行跟踪python实例的测试 Dowser将作为应用程序的一部分运行。因此,无论在哪里初始化应用程序,都要添加行
import dowser
cherrypy.tree.mount(dowser.Root(), '/dowser')
然后您可以浏览到http://localhost:8080/dowser
查看道瑟界面
请注意,您从文档中引用的调用用于测试dowser。正确的调用是
python-dowser/\uuuu-init\uuuuuuupy
使用此blog设法使dowser工作,并将端口更改为8088,而不是8080(机器上没有使用,但仍然不工作!)