内存占用统计

working_set和 Rss
RSS(Resident Set Size)是进程使用的物理内存大小,也就是进程在内存中占用的空间大小。
WSS(Working Set Size)是进程使用的内存大小,也就是进程正在使用的内存空间大小。
总的来说,RSS更加关注的是进程的物理内存使用情况,而WSS则关注的是进程的内存使用情况。
 
working set 仍然表示在一定时间内,容器内的进程实际上正在使用的内存页的集合。
RSS映射的物理内存
真实环境中两种表示相差不大,但更推荐使用working_set作为容器内存真实使用量(kubelt 判断 OOM 的依据)

阿里云解释

相关指标:
  • anno_rss(RSan):所有类型资源的独占内存。
  • file_rss(RSfd):File-backed资源占用的所有内存。
  • shmem_rss(RSsh):Anonymous资源的共享内存。
命令
查询指标
说明
计算公式
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
notion image
说明
WSS(Memoy Working Set Size)指标:一种更为合理评估进程内存真实使用内存的计算方式。但是受限于Linux Page Reclaim机制,这个概念目前还只是概念,并没有哪一个工具可以正确统计出WSS,只能是趋近。

Docker和K8s中的内存统计

Docker和K8s中的内存统计即Linux memcg进程统计,但两者内存使用率的定义不同。
进程组生态
计算公式
Memcg
rss + cache(active cache + inactive cache)
Docker
rss
K8s
rss + active cache
Loading...
目录
文章列表
王小扬博客
产品
Think
Git
软件开发
计算机网络
CI
DB
设计
缓存
Docker
Node
操作系统
Java
大前端
Nestjs
其他
PHP