memory - 为什么 Prometheus 会消耗这么多内存?
问题描述
我正在使用 Prometheus 2.9.2 来监控大型节点环境。作为在我们的环境中测试 Prometheus 的最大规模的一部分,我在我们的测试环境中模拟了大量的指标。
我的管理服务器有 16GB 内存和 100GB 磁盘空间。
在规模测试期间,我注意到 Prometheus 进程消耗的内存越来越多,直到进程崩溃。
我注意到,当 Prometheus 的内存使用量上升时,WAL 目录正在快速填充大量数据文件。
管理服务器每 15 秒刮一次其节点,存储参数全部设置为默认值。
我想知道为什么会发生这种情况,以及如何/是否可以防止进程崩溃。
谢谢!
解决方案
内存不足崩溃通常是查询过重的结果。这可以在您的规则之一中设置。(此规则甚至可能在 grafana 页面而不是 prometheus 本身上运行)
如果您有大量指标,则规则可能会查询所有指标。一个快速解决方法是使用特定标签而不是正则表达式准确指定要查询的指标。
推荐阅读
- swift - Swift - 如何从 UITableViewCell 转到另一个 UITableViewCell?
- excel-formula - Excel“搜索”公式提供奇怪的结果
- node.js - NodeJS v12 重新启用 TLS 1.1 和 1.0
- reactjs - 当父组件在 Next.js 应用程序中更新其道具时重新渲染 React 子组件
- node.js - 如何使用 next 在 AWS S3 上托管静态文件?
- regex - 如何在 Notepad++ 中用正则表达式替换每一个奇数出现的子字符串?
- git - Git 有标签吗?
- python - 如何检测“节奏游戏”自动播放器的符号
- android - 当我更新它的版本时,Firebase auth 移动验证停止工作
- python - 如何使我的箭袋图更能代表数据,即。有明确的箭头?