Linux怎么部署VictoriaMetrics替代Prometheus降低80%内存消耗

夜雪酱_5086

夜雪酱_5086

2026-10-31

826人浏览

原创

直接用官方预编译二进制包(如victoria-metrics-v1.125.1-linux-amd64.tar.gz)部署victoria-metrics-prod,配-storageDataPath(本地SSD路径且属主为vmuser)、-retentionPeriod(单位须为d或m),并配置systemd三要素:LimitNOFILE=65536、User=vmuser、ExecStart中路径权限正确,即可稳定运行。

linux怎么部署victoriametrics替代prometheus降低80%内存消耗

直接用官方预编译二进制部署 victoria-metrics-prod,配对 -storageDataPath 和 -retentionPeriod,再加 systemd 三要素(User、LimitNOFILE、ExecStart 中路径所有权),就能稳定压到 Prometheus 20% 内存占用——不是靠调参“省”,而是它根本不用 WAL、不存 label 副本、列式压缩天然低开销。

怎么选对二进制包,避免启动就报错

GitHub Releases 页面只认 victoria-metrics-v*.tar.gz(比如 victoria-metrics-v1.125.1-linux-amd64.tar.gz),别下 -src.zip,更别单独下载 victoria-metrics-prod 文件——后者是企业版,启动必报 failed to parse license。解压后只留一个可执行文件:victoria-metrics-prod。运行 file victoria-metrics-prod 必须输出含 statically linked,说明它不依赖系统 libc;再跑 ./victoria-metrics-prod -version 能打出版本号,才算真正可用。

systemd 服务必须写的三项硬配置

裸跑 nohup ./victoria-metrics-prod & 只能临时验证,生产环境必须用 systemd 托管,否则进程容易被 OOM kill 或静默退出。

  • LimitNOFILE=65536:systemd 默认限制 1024,VictoriaMetrics 高并发下很快耗尽,不加这一行,journalctl -u victoriametrics 里全是 accept: too many open files
  • User=vmuser 和 Group=vmuser:必须创建无登录 shell 的专用用户,命令是 useradd -r -s /bin/false vmuser
  • ExecStart 中指定的 -storageDataPath 目录,必须由 vmuser 拥有,且不能是 /tmp、/var/tmp 或 NFS 路径(SELinux 会拦截 mmap)

-storageDataPath 和 -retentionPeriod 配错会导致数据无声丢失

这两个参数看似简单,但配错后果最严重,且不易察觉:

Spotify-Linux
Spotify-Linux

通过 MPRIS DBus 控制 Spotify Linux 桌面客户端,实现播放、搜索、启动、音量和曲目信息,无需浏览器自动化。

下载
  • -storageDataPath=/data/vm:路径必须是本地 SSD,HDD 上开启 -retentionPeriod=12m 会导致 compaction 延迟飙升,查询变卡;目录权限执行 chown vmuser:vmuser /data/vm
  • -retentionPeriod=365d:单节点长期存储必须显式设,不设默认只保留 1 个月;注意单位是 d(天)或 m(月),写成 365 会被当秒处理,数据几秒后就清空
  • 别碰 -memory.allowedPercent:VM 不像 Prometheus 那样靠内存限流,强行设低反而触发频繁刷盘,写入延迟翻倍

Prometheus 远程写入配置要改两处

要让 Prometheus 把数据吐给 VictoriaMetrics,不是只改 remote_write.url 就完事:

  • remote_write.url 改成 "http://vm-host:8428/api/v1/write"(注意端口是 8428,不是 9090)
  • 必须加 queue_config.max_samples_per_send: 10000:默认 100 太小,批量太碎,网络和 VM 解析开销暴增;实测调到 10000 后,同样指标量下 CPU 降 40%
  • 删掉 write_relabel_configs 里所有 drop 或 keep:VM 标签索引机制和 Prometheus 不同,误删标签会导致后续查不到数据

真正卡点不在安装,而在 storageDataPath 目录是否落在本地 SSD、vmuser 是否真拥有该目录、以及 retentionPeriod 单位有没有写错——这三个地方任意一个漏掉,VM 就会退化成“高延迟+高丢数”的假轻量状态。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4310

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3633

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2893

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7110

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6762

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3873

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3365

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3599

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习