我有一个在Ubuntu 14.04容器中运行的Java应用程序。应用程序依赖OS页面缓存来加速读写。容器被发出暂停命令,根据docker文档触发cgroup冷冻器https://www.kernel.org/doc/Documentation/cgroups/freezer-subsystem.txt。
暂停容器的脏页面和pagecache会发生什么?它们是否刷新到磁盘?或者容器范围pagecache的整个概念是错误的,所有容器的脏页都在docker主机级别进行管理?
docker host free -m
:
user@0000 ~ # free -m
total used free shared buffers cached
Mem: 48295 47026 1269 0 22 45010
-/+ buffers/cache: 1993 46302
Swap: 24559 12 24547
容器docker exec f1b free -m
user@0000 ~ # docker exec f1b free -m
total used free shared buffers
Mem: 48295 47035 1259 0 22
-/+ buffers: 47013 1282
Swap: 24559 12 24547
一旦容器暂停,我无法检查容器看到的内存。
FATA[0000] Error response from daemon: Container f1 is paused, unpause the container before exec