问题标签 [tracemalloc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
192 浏览

python-3.x - 在 Python 3.7 中序列化为 JSON 字符串 tracemalloc

我必须将 .json 的结果序列化为 JSON 字符串tracemalloc

当我将数据转储到 JSON 时,我得到一个

从日志中我可以看到字符串输出:

然后在循环中:

那么哪个是b""我无法序列化的字符串?

0 投票
0 回答
169 浏览

python - tracemalloc 未检测到 python 中的内存泄漏

我有一个创建多个对象的 python(3.6.5) 包。根据我在任务调度程序中看到的内容以及如果内存每超过 1GB 时我制定的救助标准,主进程似乎存在内存泄漏。检测内存膨胀的代码如下:

我尝试使用 tracemalloc 来检测内存膨胀,方法是在达到此救助标准的点放置一个断点,并且 tracemalloc 检测到的总内存使用量刚刚超过 300MB。如果我不创建这些对象,则不会观察到膨胀(通过注释掉创建对象的代码进行测试)。对于剩余的 700MB 内存使用情况,调试此内存泄漏的最佳方法是什么?

谢谢

0 投票
1 回答
259 浏览

python - 未关闭但 UnitTest 正在抛出的文件的 ResourceWarning

我有这样的功能:

我正在编写 unittest ,当我运行它们时,出现以下错误:

找到了答案,但不适用于我可以解决的代码:Python 3: ResourceWarning: unclosed file <_io.TextIOWrapper name='PATH_OF_FILE'

我尝试了一些东西,做了一些代码更改,但似乎无法弄清楚。 谁能给我一个关于如何使用我的示例代码克服这个问题的代码示例!

0 投票
1 回答
579 浏览

python - tracemalloc 的开销有多大?

我想在生产系统中登录 Python 脚本的当前内存使用情况。AWS 有Container Insights,但它们隐藏得非常好,我不确定如何在其他仪表板/日志记录和更改系统中正确使用它们。另外,我不确定日志峰值内存是否存在。

Python 脚本是生产系统。它在 Docker 容器中的 AWS 上运行,我遇到了以前的方法(链接)的问题。

tracemalloc似乎能够给我我想要的信息:

但是,文档状态:

tracemalloc 模块是一个调试工具

那么将其包装在生产代码中会是一个坏主意吗?它有多少开销?还有其他理由不在生产中使用它吗?

(我非常清楚代码的哪些部分需要最多内存以及达到峰值内存的位置。我想监视那部分(或者更确切地说是那些少数对象/几行代码的大小)。替代tracemalloc 似乎是使用这样的东西

0 投票
1 回答
201 浏览

python - Python tracemalloc 的“compare_to”函数始终提供 len(traceback)=1 的“StatisticDiff”对象

使用 Python 的 3.5 tracemalloc 模块如下

导致 StatisticDiff 实例列表,其中每个实例都有一个只有 1 个(最近的)帧的回溯。

任何提示如何获得每个 StatisticDiff 实例的完整堆栈跟踪?

谢谢!迈克尔

0 投票
0 回答
80 浏览

flask - tracemalloc 不反映烧瓶服务器的内存使用情况?

我的烧瓶服务器中有内存泄漏(它是一个服务于 tensorflow 和 pytorch 机器学习模型的服务器)。它有一个可怕的内存泄漏。

所以我使用 tracemalloc 来跟踪内存。问题是 tracemalloc 没有检测到任何内存泄漏。但它在监视器中清楚地显示内存泄漏,并且在 tracemalloc 中检测到的内存与 htop(内存监视器工具)显示的内存相比要小得多。

为什么 tracemalloc 没有显示烧瓶使用的所有内存,它错过了什么?我是如何让它显示进程使用的所有内存的?

0 投票
0 回答
153 浏览

python-3.x - Python tracemalloc,什么是大小和计数?

我正在使用 tracemalloc 库来查明我的应用程序中的内存问题。

这是我正在使用的代码。

示例输出如下。

有人可以解释这些值的含义吗?

  • 线诺
  • 尺寸
  • 数数
0 投票
0 回答
21 浏览

python - 找出 Python 解释器的内存消耗

如何找出 Python 解释器的内存消耗?

我尝试了内存分析器,但它显示正在运行的代码内存消耗。

PS。看来 tracemalloc 做了我想要的

0 投票
0 回答
9 浏览

python-3.x - 可以使用 tracemalloc 来分析用 python 2.x 编写的应用程序吗?

我有一个用 python 2.7 编写的应用程序,我发现其中有几个内存泄漏。我可以使用 tracemalloc 来分析应用程序吗?Tracemalloc 仅在 python 3.4 中引入

0 投票
0 回答
136 浏览

python - 内存泄漏调试 - 在 Heroku 上运行的 Python 脚本

我正在运行一个通过简单的 Flask 应用程序调用的 python 脚本。我在 Heroku 上运行它。这是工作流程 - 在 Flask 应用程序中调用 URL 会使用 asyncio 触发 python 脚本(这是让 Flask 请求在触发脚本后正常返回所必需的。脚本继续执行几个小时

现在,当我检查 Heroku 上的日志时,内存不断增加。我在脚本中使用了 tracemalloc,发现内存使用量是平稳的。但是当我监控 Heroku 日志时,内存不断增加。

这是 Tracemalloc 显示的内容。下面是消耗内存的组件。这是 16 MB,并且不会超出此范围

最高内存使用量:/app/.heroku/python/lib/python3.8/site-packages/googleapiclient/schema.py:302: size=16.3 MiB, count=241, average=69.3 KiB

但这是 Heroku 日志的内存消耗

ource=web.1 dyno=heroku.213294961.fb70dc87-b41e-4201-8ae4-30afe715a932 sample#memory_total=349.32MB sample#memory_rss=347.13MB sample#memory_cache=2.18MB sample#memory_swap=0.00MB sample#memory_pgpgin=195178pages sample #memory_pgpgout=108308 页样本#memory_quota=512.00MB

这已从 200 MB 增加到 350 MB(2 小时内增加 150MB)

调试此问题的最佳方法是什么?任何指示都会有所帮助