kubernetes 为什么QuestDB使用的内存多于分配的内存?

insrf1ej  于 2023-01-08  发布在  Kubernetes
关注(0)|答案(1)|浏览(288)

我们一直在考虑容量规划的内存,并在我们的一个k8s集群上运行了一个Helm部署的8GB限制的QuestDB示例。
我们最近开始从它的指标中剔除指标,我试图找到questdb_memory_mem_used指标的底部,它偶尔会看到超出资源限制的偏移。

有没有人很好地处理了什么因素促成了这个指标,以及我们可能会看到什么?
作为参考,NATIVE_*标记的指标在同一时间段内似乎更合理:

wbgh16ku

wbgh16ku1#

根据QuestDB公开的documented Prometheus metricsquestdb_memory_mem_used包括所有本机内存分配,如果尚未触及虚拟内存,则可能包括虚拟内存。
此指标包括mmapped文件,因此其值如此之大。当您访问示例上的大型表时,可能会看到此指标增长。DISTINCTJOIN查询也会影响此指标。
请注意mmmapped内存是有弹性的,并且大部分是虚拟的。只有空闲内存被用于页面缓存,所以如果这个指标有一个很大的值也没关系。

相关问题