我有一个在 Ubuntu 14.04 容器中运行的 Java 应用程序。该应用程序依赖操作系统页面缓存来加速读取和写入。容器发出暂停命令,根据 docker 文档触发 cgroup freezer https://www.kernel.org/doc/Documentation/cgroups/freezer-subsystem.txt。
暂停容器的脏页和页面缓存会发生什么?它们是否刷新到磁盘?或者容器范围页面缓存的整个概念是错误的,所有容器的脏页都在 docker 主机级别进行管理?
码头主机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