Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Dowser跟踪Python中的内存泄漏_Python_Memory_Memory Leaks - Fatal编程技术网

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

使用Dowser跟踪Python中的内存泄漏,python,memory,memory-leaks,Python,Memory,Memory Leaks,我每晚都在使用centos操作系统的虚拟机上运行一些测试。最近,测试占用了机器上所有可用的内存和几乎所有的交换内存,我给虚拟机分配了两倍的内存,但这种情况仍在发生,这导致虚拟机的物理主机死亡。这些测试以前是在不需要一半内存的情况下运行的,因此我需要使用某种形式的python内存分析器来调查发生了什么 我已经看过了Pysizer和Heapy——但是经过研究Dowser似乎是我想要的,因为它不需要对代码进行任何更改 到目前为止,除了文档和谷歌搜索之外,我在自己的类中有以下代码: import che

我每晚都在使用centos操作系统的虚拟机上运行一些测试。最近,测试占用了机器上所有可用的内存和几乎所有的交换内存,我给虚拟机分配了两倍的内存,但这种情况仍在发生,这导致虚拟机的物理主机死亡。这些测试以前是在不需要一半内存的情况下运行的,因此我需要使用某种形式的python内存分析器来调查发生了什么

我已经看过了PysizerHeapy——但是经过研究Dowser似乎是我想要的,因为它不需要对代码进行任何更改

到目前为止,除了文档和谷歌搜索之外,我在自己的类中有以下代码:

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(机器上没有使用,但仍然不工作!)