簡體   English   中英

分析App Engine上的內存使用情況

[英]Profiling memory usage on App Engine

如何在App Engine應用程序中分析內存(RAM)的使用情況? 我正在嘗試解決與超出實例內存限制相關的錯誤。 我嘗試過這些東西,到目前為止,它們不起作用或者不提供我需要的東西。

  • 將Appstats。 這不提供內存使用詳細信息。
  • Apptrace 它自2012年以來未更新,並取決於SDK的棄用版本。 不開箱即用。
  • Appengine-profiler 不提供內存統計信息。
  • Gae-mini-profiler ,使用cProfile 不提供內存統計信息。
  • 孔雀魚 在我的應用程序文件夾中下載並安裝庫代碼后,運行guppy.hpy()失敗並顯示ImportError: No module named heapyc
  • 資源 不是SDK的python版本的一部分,所以我不能使用它。

我對以上任何一個都錯了嗎? 這個問題上得分最高的答案(不是公認的答案)說, 沒有辦法監控App Engine上的內存使用情況。 這不可能是真的。 它可以?

編輯

我可以確認GAE mini profiler可以完成這項工作。 安裝后,我可以將UI中的設置更改為“帶內存采樣”,然后查看此讀數:

示例UI顯示內存使用情況

感謝所有貢獻者

如果您使用采樣分析器並將memory_sample_rate設置memory_sample_rate非零,則GAE Mini Profiler會提供內存統計信息; 在每個快照,它會告訴你正在使用的內存。 您需要將采樣頻率調低,因為內存采樣需要幾毫秒才能執行。

編輯:它獲取內存統計信息的方式來自GAE 運行時API ,該API已被棄用,但我仍然知道最后一次工作; 我不確定是否有一個好的替代品。

為了增加Ben的答案 ,截至2015年11月16日,盡管被棄用, Google App Engine運行時API仍然有效。 谷歌還沒有官方替代品。

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

logging.info(runtime.memory_usage())

這將輸出內存使用情況統計信息,其中數字以MB表示。 例如:

current: 464.0859375
average1m: 464
average10m: 379.575

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM