container_memory_rss & container_memory_working_set_bytes
指标说明
container_memory_rss和container_memory_working_set_bytes是两个与容器内存使用相关的指标,用于监控和度量容器的内存消耗情况。
下面是对这两个指标的解析:
container_memory_rss:
- 指标名称:container_memory_rss
- 指标类型:Gauge(表示某一时刻的数值)
- 解析逻辑:该指标使用了Linux的/proc文件系统,读取了容器进程的/proc/[PID]/statm文件,其中PID是容器进程的进程ID。在该文件中,第2列表示进程的Resident Set Size (RSS),即实际驻留在物理内存中的大小。Prometheus的采集器会定期读取这个值,并将其暴露为container_memory_rss指标。
container_memory_working_set_bytes:
- 指标名称:container_memory_working_set_bytes
- 指标类型:Gauge
- 解析逻辑:类似于container_memory_rss,该指标也使用了Linux的/proc文件系统,读取了容器进程的/proc/[PID]/statm文件。在该文件中,第6列表示进程的Working Set Size,即进程当前使用的物理内存大小。Prometheus的采集器会定期读取这个值,并将其暴露为container_memory_working_set_bytes指标。
这两个指标可以帮助我们了解容器的内存使用情况。container_memory_rss表示容器进程实际驻留在物理内存中的大小,而container_memory_working_set_bytes表示容器进程当前使用的物理内存大小。
linux /proc/[pid]/statm文件解析
Resident Set Size (RSS) & Working Set Size
Resident Set Size(常驻集大小)和Working Set Size(工作集大小)是与计算机内存管理相关的概念,用于描述进程在内存中的使用情况。它们有一些区别,下面我会详细解释。Resident Set Size(常驻集大小): 常驻集大小是指一个进程当前在物理内存中占用的内存大小。它包括进程代码、数据和堆栈等部分,这些部分是当前处于活动状态且必须常驻在内存中的。常驻集大小反映了进程所需的最小物理内存空间,以便保持正常运行。
Working Set Size(工作集大小): 工作集大小是指一个进程当前正在使用的内存大小。它包括进程当前使用的代码、数据和堆栈等部分,以及可能被频繁访问的页面或内存块。工作集大小可以根据进程的活动模式和内存访问模式进行动态调整,以适应进程的需求。
区别:
常驻集大小是一个进程实际占用的物理内存大小,而工作集大小是进程当前活跃的内存部分的大小。常驻集大小是一个相对固定的概念,而工作集大小是动态变化的。进程的工作集大小会根据进程的活动模式、内存需求和系统内存管理策略进行调整。常驻集大小对于系统的内存管理和性能分析很重要,而工作集大小则更多地与进程的内存访问效率和性能相关。总结: 常驻集大小和工作集大小是描述进程在内存中的使用情况的两个概念。常驻集大小是进程在物理内存中实际占用的大小,而工作集大小是进程当前活跃的内存部分的大小。它们在反映进程内存占用和性能方面有不同的作用。
原文作者:蓝色瞳仁
版权声明:转载请注明作者和链接。