过去几个月我一直在从事一个项目,最近我遇到了内存消耗问题。目前,在我的 47 GB 内存总量中,一个 Weaviate 实例使用了 13.1 GB,这似乎高于预期。
在查阅 Weaviate 文档后,我发现了一种计算内存使用情况的方法。具体公式如下:
对象数量 * ((单个向量的长度 * 以字节为单位的浮点值精度) + (MaxConnections * 每个向量使用的内存[连接数]))
使用这个公式: 2750000 * ((768 * 4) + (64 * 10)) = 9.50 GB
嗨!来自 Weaviate 的 Duda :)
您可能在这个页面获得以下信息: https://weaviate.io/developers/weaviate/concepts/resources#an-example-calculation
这是一个粗略的估计,可能会因其他因素而变化,例如在索引时,它会消耗更多内存,或者取决于某些索引配置等。
此外,
maxConnections
的估计并未考虑垃圾收集。
如果有帮助请告诉我!