我每晚在带有 centos 操作系统的虚拟机上运行一些测试。最近测试已经占用了机器上所有可用的内存和几乎所有的交换内存,我为 VM 分配了两倍的内存,但它仍在发生,这导致 VM 的物理主机死亡。这些测试以前运行时不需要一半的内存,所以我需要使用某种形式的python 内存分析器来调查发生了什么。
我看过Pysizer和Heapy——但经过研究,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 的实例?