检查Windows下Python程序的最大内存使用量

2024-03-29 12:23:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从Python程序中获得Python程序使用的最大物理内存(activestatepython3.2,在windows7下)。在

理想情况下,每隔0.1秒左右,我希望对内存使用情况进行轮询,如果超过了目前看到的最大值,则更新最大值(存储在某个地方的全局变量)。在

更新:

我意识到我的问题与Which Python memory profiler is recommended?非常相似。在

抱歉不清楚。我有两个特定的问题,据我所知,常规内存分析器无法解决:

  1. 我不仅需要查看Python分配的内存,还需要查看Python程序使用的总内存(在Windows下,这将包括dll等)。换句话说,在Windows下,这正是您在Task Manager中看到的内容。

  2. 我需要看到最大内存,而不是任何给定时刻的内存。我想不出一种方法来做到这一点,除了在代码周围放置大量内存检查之外,每当我认为我在分配大的东西时。


Tags: 内存程序whichiswindows地方物理情况
3条回答

我没有找到任何方法来精确地使用Python实现我想要的功能。在

然而,在使用Windows7任务管理器时,我发现我可以添加一列“峰值工作集(内存)”。因此,如果我只是在python程序退出之前暂停它(并捕捉来自main()的异常以同样的原因暂停),我可以在任务管理器中看到峰值内存。在

我知道这很愚蠢(例如,它不允许我把它打印到日志文件中,不允许我根据内存使用情况做些什么等等),但总比什么都不做要好。在

下面是一个类似问题的链接:

Which Python memory profiler is recommended?

我用过古比/希比和梅利亚。它们有点不同,但我发现两者都很有用。在

我想你可以在“控制面板”、“管理工具”、“性能”下,单击“+”,在“性能对象”下选择“处理器”,在左栏下选择“池分页字节”或“池未分页字节”,然后在右栏中选择进程。 可以使用性能监视器生成日志文件。在

相关问题 更多 >