Memory 缺少普罗米修斯容器级别缓冲内存度量
当我检查prometheus custom metrics时,我看到了容器内存缓存,但容器级内存缓冲区数据不可用。。当我运行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
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 这些文件可以从节点操作系统访问,并将为您提供有关容器内存使用情况的所有可用信息
然而,据我所知,缓冲内存在容器中不可用,以避免节点操作系统和容器本身的双重缓存 但,奇怪的是,在容器内部,我看到缓冲内存的非零值。我应该忽略这一点吗?这让我感到困惑,我想这是因为许多工具(可以显示内存使用情况)不知道它们正在容器中运行,并且显示有关节点内存使用情况的信息。