python - Google AppEngine 上的内存分析/监控 (python)

标签 python google-app-engine memory-leaks

我已经使用应用引擎很长一段时间了,我知道有 appstats 但那些只显示数据存储/内存缓存和其他与实际内存使用统计信息无关的信息。

我已尝试与 AppTrace 集成(包含所有组件的最新版本)但我无法继续,因为我收到此错误:

ImportError: dlopen(../apptrace/guppy/sets/setsc.so, 2): Symbol not found: __PyLong_AsScaledDouble
Referenced from: ../apptrace/guppy/sets/setsc.so
Expected in: flat namespace

所以我的问题是: (在最新的 appengine sdk 上)分析/监控内存/捕获内存泄漏和其他与 python 内存相关的东西(在本地或 Google 服务器上)的最佳方法是什么?

顺便说一句,我们使用 Python 2.7,我们正在使用 Mac OS X (10.7.4)

最佳答案

这篇文章已有 3 年历史,但我认为这个答案仍然值得分享以帮助他人。我有高级 Google App Engine 支持,并就同样的问题与他们联系。

Google 工程师建议我使用 Google App Engine runtime API已弃用,但仍然有效。它提供了一个名为 memory_usage 的方法。

from google.appengine.api.runtime import runtime
import logging

logging.info(runtime.memory_usage())

这将输出内存使用统计信息,其中数字以 MB 表示。例如:

current: 464.0859375
average1m: 464
average10m: 379.575

通过将日志记录语句放置在代码中的关键点,您可以找出导致内存泄漏的部分。

关于python - Google AppEngine 上的内存分析/监控 (python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11202475/

相关文章:

python - 等到嵌套的 python 脚本结束,然后再继续当前的 python 脚本

python - 平均负数 python

python - Pyramid 1.4 需要 WebOb 1.2b3+。 Google App Engine 提供 WebOb 1.1.1。难道这一切都要以泪水结束吗?

C++ 内存泄漏 : are dynamically created arrays removed on leaving a function call?

python - 使用python旋转矩阵时出现问题

python - 具有基于 token 的身份验证 django 的自定义用户模型

java - 使用GAE/UserService登录XMPP

android - 为什么 Google 图片服务在提供服务时将我的 WEBP 图片转换为 JPG?

c++ - 带指针和内存泄漏的递归

c++ - 如何删除以防止内存泄漏?