memory - 为什么 Prometheus 消耗这么多内存?

标签 memory prometheus

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

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

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

我注意到 WAL 目录很快就被大量数据文件填满,而 Prometheus 的内存使用量却在上升。

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

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

谢谢!

最佳答案

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

如果您有大量指标,则规则可能会查询所有指标。一种快速解决方法是通过特定标签(而不是正则表达式)精确指定要查询的指标。

关于memory - 为什么 Prometheus 消耗这么多内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56115912/

相关文章:

memory - 编译器如何在内存中布局代码

c++ - 声明动态内存语句 C++

java - Spring 批处理作业状态配置为使用 prometheus 发出警报

json - 使用jsonnet更改json字符串

grafana - Prometheus中标 checkout 现次数大于N的系列的显示表

grafana - 计算转换到1之前将值设置为0的平均时间

c++ - C++中的内部函数内存限制

python - 如何获取外部程序的内存使用情况 - python

php - memory_get_peak_usage() 与 "real usage"

kubernetes - 尝试实现自定义 Kubernetes 监控系统时的最佳实践