为什么python“害羞”在Docker中使用内存?

我正在docker中运行一个内存密集型的python脚本(pandas,numpy,机器学习),性能很糟糕。

在我的主机中,脚本使用超过10GB的RAM。 docker化的Python脚本只使用3Gb(com.docker.hyperkit进程)。 我已经将我的docker内存首选项更改为10gb(在Mac OS Docker GUI中),并运行具有显式内存限制的容器:

docker run -m 10g ... 

为什么容器不能像宿主应用程序那样使用10gb?

计算机程序使用除存储器以外的其他资源 有CPU,I / O设备和信息。 我猜想你看到的这种行为是其他资源被榨取的结果。 例如,在内存填满之前,您的I / O设备可能会造成瓶颈。 这只是一个猜测,因为我没有其他的信息。