我已经使用应用引擎很长一段时间了,我知道有 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/