gpt4 book ai didi

python - 如何从代码中检查当前实例的内存使用情况

转载 作者:行者123 更新时间:2023-11-28 18:42:11 26 4
gpt4 key购买 nike

我计划使用 GAE Python GCS 客户端库将大文件(大小可能从几 kB 到数百 MB)写入 GCS。我将构建内容以迭代方式写入文件。此内容存储在一个变量(例如,“X”)中,该变量在循环的每次迭代中与更多内容连接在一起。每次迭代后,我想检查我的代码的当前内存使用情况,以便我可以停止添加更多内存。如果我继续向该变量 ("X") 添加更多内容,我预计我可能会达到内存限制,并且该实例甚至可能以非正常方式关闭。一旦达到内存限制,我想停止迭代。

如何在代码中检查我的应用程序当前实例的内存使用情况?

我没有使用后端或模块。可以GAE Python Runtime API用于此?如果是,是否已弃用该 API?

示例代码

SAFE_MARGIN = 10 
INSTANCE_MEMORY_LIMIT = 128

content = ""
for record in record_list:
content = content + record.description
if ((memory_usage + SAFE_MARGIN) >= INSTANCE_MEMORY_LIMIT): # CHECK IF MEMORY LIMIT IS REACHED HERE
break # STOP ADDING MORE
# WRITE FILE TO GCS HERE (value of "content" variable)

更新
由于我没有得到任何回复并且在 Google 文档中找不到任何内容,我提出了 new Feature Request with Google .

最佳答案

您可以使用 Python Runtime API 检查前端和后端实例的内存使用情况:

from google.appengine.api.runtime import memory_usage

SAFE_MARGIN = 10
INSTANCE_MEMORY_LIMIT = 128

content = ""
for record in record_list:
content = content + record.description
if ((int(memory_usage().current() + SAFE_MARGIN) >= INSTANCE_MEMORY_LIMIT): # CHECK IF MEMORY LIMIT IS REACHED HERE
break # STOP ADDING MORE
# WRITE FILE TO GCS HERE (value of "content" variable)

但是如果你经常内存不足,考虑升级实例类...

关于python - 如何从代码中检查当前实例的内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24879296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com