You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Grafana按用户/服务展示节点内存:如何实现单独统计?

按进程维度拆分内存统计的方法

你当前的查询是统计系统级的总已用内存,要实现按单个服务、用户拆分内存,需要用到node_exporter提供的进程级内存指标,以下是具体实现方式:

一、查看systemd服务的内存占用

1. 统计systemd自身进程的内存

如果只需要查看systemd主进程的内存使用,使用进程名称匹配即可:

# 统计systemd进程的常驻物理内存(RSS)
sum(node_process_resident_memory_bytes{instance=~"$node", process_name="systemd"})

# 若需要统计虚拟内存(VSZ),替换为:
sum(node_process_virtual_memory_bytes{instance=~"$node", process_name="systemd"})

2. 统计所有systemd管理的服务进程内存

如果要按每个systemd服务维度统计内存,需要确保node_exporter启动时开启了systemd进程标签收集(启动参数添加--collector.processes.systemd.enable),之后可用以下查询按服务聚合:

# 按systemd服务单元分组,统计各服务的常驻内存总和
sum by (process_systemd_unit) (node_process_resident_memory_bytes{instance=~"$node"})

二、按Linux用户拆分统计内存

node_exporter的进程指标自带process_user标签,可直接按用户分组聚合:

# 按Linux用户分组,统计每个用户所有进程的常驻内存总和
sum by (process_user) (node_process_resident_memory_bytes{instance=~"$node"})

# 若需要统计虚拟内存,替换为:
sum by (process_user) (node_process_virtual_memory_bytes{instance=~"$node"})

注意事项

  • 若看不到node_process_*相关指标,需检查node_exporter是否启用了进程收集器,默认情况下该收集器是开启的;若未开启,启动时添加参数--collector.processes。
  • 常驻内存(resident_memory_bytes)是进程实际占用的物理内存,虚拟内存(virtual_memory_bytes)是进程申请的虚拟地址空间大小,可根据需求选择对应指标。

内容的提问来源于stack exchange,提问作者user3187469

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 01:36:32