Bootstrap

istio-proxy内存指标

在 Istio 环境中,istio-proxy 是 Envoy 的边车代理容器。通过运行命令 curl localhost:15000/memory,或者curl localhost:15000/stats 可以查询 Envoy 的内存统计信息。以下是典型返回结果的结构和意义:

返回结果单位是bytes,需/1024/1024转为Mb。

curl localhost:15000/memory

或

curl localhost:15000/stats

返回结果:
{
    "allocated": 10392960,
    "heap_size": 16777216,
    "pageheap_unmapped": 0,
    "pageheap_free": 0,
    "total_thread_cache": 4120,
    "total_system": 18481152,
    "unused_heap": 6384256
}

字段解释:

  1. allocated:Envoy 当前分配的内存大小(单位:字节)。
  2. heap_size:当前进程堆内存大小(单位:字节)。
  3. pageheap_unmapped:未映射的内存页面(单位:字节),通常是分配后又释放的内存。
  4. pageheap_free:空闲内存页面(单位:字节),但仍可供分配。
  5. total_thread_cache:线程缓存分配的内存总量(单位:字节)。
  6. total_system:进程总内存使用量(单位:字节),包括堆内存和线程缓存。
  7. unused_heap:未使用的堆内存(单位:字节)。

结果用途

  • 内存调优:帮助排查 Envoy 内存使用问题,优化性能。
  • 监控:与其他内存统计指标结合,监控 Istio 环境的资源使用情况。
  • 问题诊断:定位 Envoy 是否因内存不足而导致 OOM(Out of Memory)。

;