监控项 | 含义 | 备注 |
---|---|---|
container_memory_cache |
Number of bytes of page cache memory. |
高速缓存(cache)的使用量。cache是位于CPU与主内存间的一种容量较小但速度很高的存储器,是为了提高cpu和内存之间的数据交换速度而设计的。 |
container_memory_rss |
Size of RSS in bytes. |
RSS内存,即常驻内存集(Resident Set Size),是分配给进程使用实际物理内存,而不是磁盘上缓存的虚拟内存。RSS内存包括所有分配的栈内存和堆内存,以及加载到物理内存中的共享库占用的内存空间,但不包括进入交换分区的内存。 |
container_memory_swap |
Container swap usage in bytes. |
虚拟内存使用量。虚拟内存(swap)指的是用磁盘来模拟内存使用。当物理内存快要使用完或者达到一定比例,就可以把部分不用的内存数据交换到硬盘保存,需要使用时再调入物理内存。 |
container_memory_usage_bytes |
Current memory usage in bytes, including all memory ``regardless of when it was accessed. |
当前使用的内存量,包括所有使用的内存,不管有没有被访问。 |
container_memory_max_usage_bytes |
Maximum memory usage recorded in bytes. |
最大内存使用量的记录。 |
container_memory_working_set_bytes |
Current working set in bytes. |
当前内存工作集(working set)使用量。 |
container_memory_failcnt |
Number of memory usage hits limits. |
申请内存失败次数计数。 |
container_memory_failures_total |
Cumulative count of memory allocation failures. |
累计的内存申请错误次数。 |
一般情况下:
container_memory_max_usage_bytes > container_memory_usage_bytes >= container_memory_working_set_bytes > container_memory_rss
You might think that memory utilization is easily tracked with container_memory_usage_bytes
, however, this metric also includes cached (think filesystem cache) items that can be evicted under memory pressure.The better metric is container_memory_working_set_bytes
as this is what the OOM killer is watching for.
container_memory_usage_bytes还涉及到filesystem部分的使用的cache
Now what’s interesting is that the container is still not allowed to use more than the amount of memory at the container limit, but the OOMKiller does not kill the container until container_memory_working_set_bytes
gets to the memory limit.