memory - 缺少Prometheus容器级别的缓冲内存指标

标签 memory kubernetes metrics prometheus

当我检查了普罗米修斯的自定义指标时,我看到container_memory_cache但容器级别的内存缓冲区数据不可用。当我运行vmstat -S M命令时。我可以按以下方式获取缓冲的内存。但是在kubernetes架构中,在每个Pod上运行该命令将浪费资源。是否还有其他方法可以获取每个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

最佳答案

例如,您可以在cgroups中找到许多有关容器内存使用情况的信息。

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



可以从节点OS访问此类文件,这些文件将为您提供有关容器内存使用情况的所有可用信息。

但是,据我了解,容器内部没有缓冲内存,以避免节点OS和容器本身进行双重缓存。

关于memory - 缺少Prometheus容器级别的缓冲内存指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52925843/

相关文章:

Azure SQL 指标

kubernetes - 在 K8s Ingress 中添加额外的路径后,Swagger 中主机 URL 的端口似乎消失了

amazon-web-services - 将证书文件提供到 k8s 中的 pod 中

python - 使用指标 'acc' 和 tf.keras.metrics.Accuracy() 有什么区别

performance - Hibernate 适合批处理吗?内存使用情况如何?

linux - 64 位 linux 上 32 位进程的地址空间

python - Pandas 内存释放

c++ - 宏是否分配内存?

python - Google Stackdriver 未按 Google Kubernetes Engine 的预期显示结构条目日志

windows - 如何在Windows的Minishift v1.5.1中启用指标