caching - 如何清除docker容器内的缓存

标签 caching memory docker alpine swarm

我在 EC2 中有一个 docker swarm CE 设置。
我有两个节点。 1名经理和1名 worker 。
主机实例类型为 Alpine Linux。

在 Manager 主机中,内存使用量为:

~ $ free -m
                    total       used       free     shared    buffers     cached
Mem:                 7972       4996       2975        715        178       2857
-/+ buffers/cache:   1960       6011
Swap:                 0          0          0

~$

现在,当我登录容器时,
~ $ docker exec -it c7cc255aca1f /bin/bash
 [root@c7cc255aca1f /]# 

And see the memory utilization:

[root@c7cc255aca1f /]# free -m
              total        used        free      shared  buff/cache   available
Mem:           7972        1654        2970         715        3347        5269
Swap:             0           0           0
[root@c7cc255aca1f /]#

请帮助我如何清除增益/缓存或缓存?

最佳答案

要清除缓存,请参阅 https://unix.stackexchange.com/questions/17936/setting-proc-sys-vm-drop-caches-to-clear-cache .

顺便说一句,你为什么要删除缓存?我确定您不想删除缓存(除非您正在执行一些读取基准测试,例如 dd )。

一旦进程需要内存,您的缓存就会被释放。它旨在使用所有可用内存。在 Linux 下,只要您有足够的 free,完全可以在没有“空闲”内存(available 指的是“空闲”)的情况下运行。 (或 total - - buffers/cache 就足够了)。

还强烈建议添加 SWAP(即使您不想交换)以防止 OOM 情况。只需在某处创建一个交换文件,然后设置 vm.swappiness sysctl 0 的参数所以如果还有可用的 RAM 内存,它就不会被使用。

关于caching - 如何清除docker容器内的缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43542912/

相关文章:

java - Spring @Cachable : Not working on methods with parameters

C# ASP.NET : how to access cache when no HttpContext. 当前是否可用(为空)?

rest - 编写用于存储 REST 调用响应的缓存实现

c++ - C/C++中的内存分配

docker - Docker Slave连接到Docker Gitlab Docker DNS

使用 System.Runtime.Caching 的 Nhibernate 缓存提供程序

C++释放内存传递给函数中的参数或将其留给调用者

python - 在 python 中 pickle 数据时出现 MemoryError

docker - 在 Dockerfile 中运行 Docker pull 命令

rabbitmq - docker rabbitmq 主机名问题