Memory 缺少普罗米修斯容器级别缓冲内存度量

Memory 缺少普罗米修斯容器级别缓冲内存度量,memory,kubernetes,metrics,prometheus,Memory,Kubernetes,Metrics,Prometheus,当我检查prometheus custom metrics时,我看到了容器内存缓存,但容器级内存缓冲区数据不可用。。当我运行vmstat-sm命令时。。我可以得到如下的缓冲内存。但在kubernetes架构中,在每个吊舱上运行此命令将浪费资源。。是否有其他方法可以为每个POD获取这些数据?除此之外,vmstat指标也没有缓冲内存数据。。。有什么想法吗?谢谢 vmstat -S M procs -----------memory---------- ---swap-- -----io---- -s

当我检查prometheus custom metrics时,我看到了容器内存缓存,但容器级内存缓冲区数据不可用。。当我运行
vmstat-sm
命令时。。我可以得到如下的缓冲内存。但在kubernetes架构中,在每个吊舱上运行此命令将浪费资源。。是否有其他方法可以为每个POD获取这些数据?除此之外,vmstat指标也没有缓冲内存数据。。。有什么想法吗?谢谢

vmstat -S M
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0      0    456      2  19594    0    0     6    39    4    3  7  5 87  0  0

例如,您可以在cgroup中找到许多关于容器内存使用的信息

/sys/fs/cgroup/memory/docker/{id}/memory.stat

这些文件可以从节点操作系统访问,并将为您提供有关容器内存使用情况的所有可用信息


然而,据我所知,缓冲内存在容器中不可用,以避免节点操作系统和容器本身的双重缓存

但,奇怪的是,在容器内部,我看到缓冲内存的非零值。我应该忽略这一点吗?这让我感到困惑,我想这是因为许多工具(可以显示内存使用情况)不知道它们正在容器中运行,并且显示有关节点内存使用情况的信息。