我正在具有16GB RAM的Windows机器上运行docker。
我的容器按照docker stats
使用4GB的内存(请参见下面的输出)。但是,按照我的Windows任务管理器的指示,没有进程占用那种内存,并且当我启动/停止容器时,我的计算机上的内存使用情况不会改变。
所以我的问题是
我的容器非常慢,我怀疑是因为上述行为;它使用磁盘作为虚拟内存,因此没有真正使用其可用资源(RAM)。
$ docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
66a9ccfd0a51 quirky_wozniak 0.04% 4.268GiB / 4.815GiB 88.63% 113kB / 20.2kB 40.8MB / 1.07MB 16
答案 0 :(得分:0)
Docker for Windows通常运行VM来支持Linux容器。分配给此VM的内存是docker主机上可用的内存。在首选项中,有一个菜单用于配置CPU内核数和专用于此VM的内存量:
答案 1 :(得分:0)
问题在于任务管理器不将Hyper-V视为进程,因此未在进程列表中显示。 换句话说,任务管理器并没有以摘要方式显示正在消耗的内存。
通过使用RMAP之类的高级工具,我们可以在“驱动程序锁定”部分看到内存正在使用。