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

2024-10-05 13:15:23 发布

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

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

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

下面是Tracemalloc显示的内容。下面是消耗内存的组件。这是16MB,并且不会超过这个值

Top memory usage : /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=108308pages sample#memory_quota=512.00MB

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

调试这个的最佳方法是什么?任何指针都会很有帮助


Tags: sample内存脚本asyncio应用程序urlflaskheroku

热门问题