Prometheus 容器级缓冲内存指标缺失
Prometheus container level buffered memory metric is missing
当我检查 prometheus 自定义指标时,我看到 container_memory_cache 但容器级内存缓冲区数据不可用。当我 运行 vmstat -S M
命令时..我可以获得缓冲内存如下。但是在 kubernetes 架构中,运行在每个 pods 上执行此命令会浪费资源。是否有其他方法可以为每个 pods 获取这些数据?除此之外,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
您可以在 cgroups 中找到很多关于容器内存使用情况的信息,例如
/sys/fs/cgroup/memory/docker/{id}/memory.stat
可以从节点 OS 访问此类文件,并将为您提供有关容器内存使用情况的所有可用信息。
但是,据我所知,缓冲内存在容器内不可用,以避免节点 OS 和容器本身进行双重缓存。
当我检查 prometheus 自定义指标时,我看到 container_memory_cache 但容器级内存缓冲区数据不可用。当我 运行 vmstat -S M
命令时..我可以获得缓冲内存如下。但是在 kubernetes 架构中,运行在每个 pods 上执行此命令会浪费资源。是否有其他方法可以为每个 pods 获取这些数据?除此之外,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
您可以在 cgroups 中找到很多关于容器内存使用情况的信息,例如
/sys/fs/cgroup/memory/docker/{id}/memory.stat
可以从节点 OS 访问此类文件,并将为您提供有关容器内存使用情况的所有可用信息。
但是,据我所知,缓冲内存在容器内不可用,以避免节点 OS 和容器本身进行双重缓存。