为什么Docker Dashboard和docker stats显示的内存使用率数值不同
Docker Desktop Dashboard与
docker stats内存使用率差异原因 两者内存使用率数值差异的核心原因是统计口径不一致,其余指标因为统计逻辑完全对齐所以数值接近,具体差异点如下:
docker stats的统计逻辑:它直接读取容器对应cgroup的内存统计数据,计算使用率时会从总内存占用里扣除inactive_file(未活跃的可回收文件缓存),仅统计进程实际占用、不可回收的缓存等刚需内存开销,数值更贴近容器真实的业务内存占用。- Docker Desktop Dashboard的统计逻辑:计算使用率时直接用总内存占用除以内存限额,不会扣除可回收缓存,同时在Windows/macOS环境下,还会把Docker Desktop依赖的底层轻量虚拟机和容器共享的部分缓存开销算入容器内存占用,因此统计出来的数值普遍高于
docker stats的结果。 - 次要影响因素:两者的默认采样刷新频率不同,
docker stats默认1秒刷新,Dashboard默认2~3秒刷新,瞬时采样的时间差也可能加剧数值偏差,不过这个因素的影响幅度远低于口径差异。

内容的提问来源于stack exchange,提问作者y.luis.rojo
相关产品推荐
相关产品推荐

