首页 > 解决方案 > 为什么 Prometheus 会消耗这么多内存?

问题描述

我正在使用 Prometheus 2.9.2 来监控大型节点环境。作为在我们的环境中测试 Prometheus 的最大规模的一部分,我在我们的测试环境中模拟了大量的指标。

我的管理服务器有 16GB 内存和 100GB 磁盘空间。

在规模测试期间,我注意到 Prometheus 进程消耗的内存越来越多,直到进程崩溃。

我注意到,当 Prometheus 的内存使用量上升时,WAL 目录正在快速填充大量数据文件。

管理服务器每 15 秒刮一次其节点,存储参数全部设置为默认值。

我想知道为什么会发生这种情况,以及如何/是否可以防止进程崩溃。

谢谢!

标签: memoryprometheus

解决方案


内存不足崩溃通常是查询过重的结果。这可以在您的规则之一中设置。(此规则甚至可能在 grafana 页面而不是 prometheus 本身上运行)

如果您有大量指标,则规则可能会查询所有指标。一个快速解决方法是使用特定标签而不是正则表达式准确指定要查询的指标。


推荐阅读