gpt4 book ai didi

google-app-engine - 是什么将所有这些内存用于Google NDB提取?

转载 作者:行者123 更新时间:2023-12-03 16:28:12 25 4
gpt4 key购买 nike

当我从数据存储区中获取1000个模型时,它使用的内存比预期的要多得多。我的数据存储表明我有> 18000,但总大小为8.31MB

Application 18025 8.31 MB


这是在禁用缓存的情况下获取实体的代码

def memoryForAThousandApplicationsNoCache():
ndb_ctx = ndb.get_context()
ndb_ctx.set_cache_policy(lambda key: False)
ndb_ctx.set_memcache_policy(lambda key: False)
startUsage = memory_usage().current()
applications = Application.query().fetch(1000)
return "Memory usage after applications: %d MB" % (memory_usage().current() - startUsage)


我得到

Memory usage after applications: 10 MB


什么消耗了所有这些内存?我在滥用memory_usage吗?

最佳答案

我猜测您没有任何理由剖析或挖掘App Engine外部的Python内存使用情况。除了对象带来的许多好处外,将事物表示为Python对象时(对于低级程序员)的开销也令人惊讶。当您使用ndb之类的东西时,在幕后还有额外的(Python)数据结构。

Google为“ python内存开销”寻找更多背景。有一个不错的图in this question可能是有启发性的。

关于google-app-engine - 是什么将所有这些内存用于Google NDB提取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49375504/

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