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

时间:2017-04-21 12:36:06

标签: caching memory docker alpine swarm

我在EC2中有一个docker swarm CE设置。 我有两个节点。 1名经理和1名工人。 主机实例类型是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 /]#

请帮我解决如何清除缓存/缓存或缓存?

1 个答案:

答案 0 :(得分:0)

要清除缓存,请参阅docs

顺便问一下为什么要删除缓存?我确定你不想删除缓存(除非你正在做一些读取基准测试,比如dd)。

只要进程需要内存,您的缓存就会被释放。它旨在使用所有可用内存。在Linux下,只要你有足够的free(或available - {{},就可以在没有“免费”内存的情况下运行(total称为“免费”) 1}}就足够了。

强烈建议添加SWAP(即使您不想交换)以防止OOM情况。只需在某处创建一个交换文件,并将- buffers/cache vm.swappiness参数设置为sysctl,这样如果仍有可用的RAM内存,它将不会被使用。