working_set和 Rss

内存统计说明 - - 阿里云

容器内存分析

RSS(Resident Set Size)是进程使用的物理内存大小,也就是进程在内存中占用的空间大小。

WSS(Working Set Size)是进程使用的内存大小,也就是进程正在使用的内存空间大小。

总的来说,RSS更加关注的是进程的物理内存使用情况,而WSS则关注的是进程的内存使用情况。

working set 仍然表示在一定时间内,容器内的进程实际上正在使用的内存页的集合。

RSS映射的物理内存

真实环境中两种表示相差不大,但更推荐使用working_set作为容器内存真实使用量(kubelt 判断 OOM 的依据)

阿里云解释

相关指标:

命令 查询指标 说明 计算公式
top VIRT 虚拟地址空间。
RES RSS映射的物理内存。 anno_rss + file_rss + shmem_rss
SHR 共享内存。 file_rss + shmem_rss
MEM% 内存使用率。 RES / MemTotal
ps VSZ 虚拟地址空间。
RSS RSS映射的物理内存。 anno_rss + file_rss + shmem_rss
MEM% 内存使用率。 RSS / MemTotal
smem USS 独占内存。 anno_rss
PSS 按比例分配内存。 anno_rss + file_rss/m + shmem_rss/n
RSS RSS映射的物理内存。 anno_rss + file_rss + shmem_rss

说明

WSS(Memoy Working Set Size)指标:一种更为合理评估进程内存真实使用内存的计算方式。但是受限于Linux Page Reclaim机制,这个概念目前还只是概念,并没有哪一个工具可以正确统计出WSS,只能是趋近。

Docker和K8s中的内存统计