使用此代码
from couchbase.cluster import Cluster
from couchbase.cluster import PasswordAuthenticator
cluster = Cluster('couchbase://localhost')
authenticator = PasswordAuthenticator('username', 'password')
cluster.authenticate(authenticator)
cb = cluster.open_bucket('bucket-name')
while True :
cb.get('key1').value
做> 24小时内500 op /秒。
10分钟后,连接丢失,进程被终止。 假设SDK有一些内存问题......
如何解决问题? 我需要重置连接吗?
ORIGIN发现: cb.get(' key1')。value返回一个100,000字符串的python列表。 此查询每秒完成100次。 - > Python解释器增加了操作系统分配(即使我们使用gc.collect), 并最终被OS杀死。
- >管理大型列表+重新分配操作系统内存的Python问题。
答案 0 :(得分:0)
ORIGIN发现:
cb.get('key1').value returns a python list of 100,000 string.
This query is done 100 times a second.
--> Python interpreter increases OS allocation (even we use gc.collect)
And ends up being killed by OS .
- >管理大型列表+重新分配操作系统内存的Python问题。
参考:
https://chase-seibert.github.io/blog/2013/08/03/diagnosing-memory-leaks-python.html